KR101977107B1 - Method and device for displaying queries in hierarchical structure by analyzing queries inputted into lucene database - Google Patents

Method and device for displaying queries in hierarchical structure by analyzing queries inputted into lucene database Download PDF

Info

Publication number
KR101977107B1
KR101977107B1 KR1020180147894A KR20180147894A KR101977107B1 KR 101977107 B1 KR101977107 B1 KR 101977107B1 KR 1020180147894 A KR1020180147894 A KR 1020180147894A KR 20180147894 A KR20180147894 A KR 20180147894A KR 101977107 B1 KR101977107 B1 KR 101977107B1
Authority
KR
South Korea
Prior art keywords
query
computing device
data
search
module
Prior art date
Application number
KR1020180147894A
Other languages
Korean (ko)
Inventor
유진상
Original Assignee
(주)시큐레이어
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)시큐레이어 filed Critical (주)시큐레이어
Priority to KR1020180147894A priority Critical patent/KR101977107B1/en
Application granted granted Critical
Publication of KR101977107B1 publication Critical patent/KR101977107B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Provided is a method for analyzing a query including at least one of a search unit including a field, a reference value, and an operation condition, and an operator, which are used to manage data of a Lucene database when the Lucene database which is a basis of a search engine using a Lucene library exists, and expressing the analyzed query through UI of a hierarchical structure. The method of the present invention comprises: (a) a step in which a computing device allows an API module included in the computing device to transfer a query and an analysis request for the query to a query analysis module included in the computing device when the computing device obtains the query for the Lucene database and the analysis request for the query; (b) a step in which the computing device allows the query analysis module to parse the query and analyze the same to convert the query into hierarchical data having a data form of a hierarchical structure, and allows the API module to obtain the hierarchical data from the query analysis module and to transfer the obtained hierarchical data to a UI expression module included in the computing device; and (c) a step in which the computing device allows the UI expression module to express the query to a display device through the UI having the hierarchical structure with reference to the hierarchical data.

Description

Lucene 데이터베이스에 대한 쿼리를 분석하여 계층형 구조의 UI로 표현하는 방법 및 장치{METHOD AND DEVICE FOR DISPLAYING QUERIES IN HIERARCHICAL STRUCTURE BY ANALYZING QUERIES INPUTTED INTO LUCENE DATABASE}TECHNICAL FIELD The present invention relates to a method and apparatus for analyzing a query on a Lucene database and expressing the same in a hierarchical structure UI.

본 발명은 Lucene 데이터베이스에 대한 쿼리를 분석하여 계층형 구조의 UI로 표현하는 방법 및 장치에 관한 것이다. 보다 상세하게는, Lucene 라이브러리를 이용한 검색 엔진의 기반이 되는 Lucene 데이터베이스가 존재할 때, 상기 Lucene 데이터베이스의 데이터를 관리하기 위해 사용되는, 필드, 기준 값 및 연산 조건을 포함하는 검색 단위 및 연산자를 하나 이상 포함하는 쿼리를 분석하여 계층형 구조의 UI로 표현하는 방법에 있어서, (a) 컴퓨팅 장치가, 상기 Lucene 데이터베이스에 대한 상기 쿼리 및 상기 쿼리에 대한 분석 요청을 획득하면, 상기 컴퓨팅 장치에 포함된 API 모듈로 하여금 상기 쿼리 및 상기 쿼리에 대한 분석 요청을 상기 컴퓨팅 장치에 포함된 쿼리 분석 모듈에 전달하도록 하는 단계; (b) 상기 컴퓨팅 장치가, 상기 쿼리 분석 모듈로 하여금, 상기 쿼리를 파싱한 후 분석하여 상기 계층형 구조의 데이터 형태를 가지는 계층 데이터로 변환하도록 하고, 상기 API 모듈로 하여금 상기 계층 데이터를 상기 쿼리 분석 모듈로부터 획득한 후 상기 컴퓨팅 장치에 포함된 UI 표현 모듈에 전달하도록 하는 단계; 및 (c) 상기 컴퓨팅 장치가, 상기 UI 표현 모듈로 하여금, 상기 계층 데이터를 참조로 하여, 상기 계층형 구조를 가지는 상기 UI를 통해 디스플레이 장치에 상기 쿼리를 표현하도록 하는 단계;를 포함하는 것을 특징으로 하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for analyzing a query for a Lucene database and expressing the query in a hierarchical structure UI. More specifically, when there is a Lucene database serving as a base of a search engine using a Lucene library, a search unit and an operator including fields, reference values, and calculation conditions used for managing data of the Lucene database, (A) when the computing device acquires the query for the Lucene database and the analysis request for the query, the method comprising: analyzing an API included in the computing device Causing the module to pass the query and an analysis request for the query to a query analysis module included in the computing device; (b) the computing device analyzes the query after parsing the query to convert it into hierarchical data having a data structure of the hierarchical structure, and causes the API module to convert the hierarchical data into the query And transferring the acquired UI module to a UI rendering module included in the computing device; And (c) causing the computing device to cause the UI rendering module to display the query on the display device through the UI having the hierarchical structure, with reference to the hierarchical data. To a method and an apparatus.

Lucene 라이브러리는, 검색 엔진에 사용될 수 있는 오픈 소스 라이브러리로서, 사용에 금액적 부담이 들지 않고, 개발자가 쉽게 사용할 수 있도록 구성되어 있어 다양한 애플리케이션 또는 빅데이터 검색 엔진 등에 널리 사용되고 있다. 하지만, 개발자와 같은 프로그래밍 전문가가 아닌 일반 사용자가 이러한 Lucene 라이브러리 기반 검색 엔진에서 사용되는 검색 문법을 학습하여 쿼리를 작성하거나 분석하는 것은 난이도도 높고 이에 소요되는 시간 또한 길 것이다. 또한, 복잡한 연관 관계 및 계층 구조를 가지고 있는 쿼리의 경우 그 구조가 난해하고 직관적이지 않은 바 일반 사용자가 이를 해석하기 어려울 것이다.The Lucene library is an open source library that can be used in search engines. It is widely used for various applications or big data search engines because it is easy to use by developers without any burden on use. However, it is very difficult and time consuming to write and analyze queries by learning the search syntax used in these Lucene library-based search engines, not by programming experts such as developers. In addition, queries with complex associations and hierarchical structures are difficult and unintuitive in structure, making it difficult for the average user to interpret them.

따라서, 이와 같은 쿼리를, 검색 문법을 모르더라도 일반 사용자가 이를 직관적으로 확인할 수 있도록 하면, 일반 사용자가 쿼리를 분석하는 데에도 도움이 되고, 쿼리를 작성하는 데에도 도움이 될 수 있을 것이다.Therefore, if such a query can be understood intuitively by a general user even if the user does not know the search grammar, the general user may be able to analyze the query and also help in writing the query.

하지만, Lucene 라이브러리는 검색 기능에 대해서는 많은 기능을 지원하나, 오픈 소스 라이브러리의 특성 상, 쿼리를 분석하는 데 도움이 되지만 기본적인 기능은 아닌, 쿼리를 계층화하여 보여 주는 UI 등에 대해서는 지원하지 않고 있는 문제점이 있다.However, Lucene library supports many functions for search function. However, it is helpful to analyze the query due to the characteristics of open source library, but it does not support the UI which shows the query layered, not the basic function. have.

본 발명은 상술한 문제점을 해결하는 것을 목적으로 한다.The present invention has been made to solve the above-mentioned problems.

본 발명은 Lucene 라이브러리에 기반한 검색 엔진에서 사용되는 쿼리를 분석하여 계층형 구조의 UI로 표현함으로써 일반 사용자가 용이하게 쿼리를 분석하고 작성할 수 있도록 하는 것을 목적으로 한다.The present invention aims at analyzing a query used in a search engine based on a Lucene library and expressing the query in a hierarchical structure, thereby allowing a general user to easily analyze and create a query.

상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한 본 발명의 특징적인 구성은 하기와 같다.The characteristic configuration of the present invention for achieving the object of the present invention as described above and realizing the characteristic effects of the present invention described below is as follows.

본 발명의 일 태양에 따르면, Lucene 라이브러리를 이용한 검색 엔진의 기반이 되는 Lucene 데이터베이스가 존재할 때, 상기 Lucene 데이터베이스의 데이터를 관리하기 위해 사용되는, 필드, 기준 값 및 연산 조건을 포함하는 검색 단위 및 연산자를 하나 이상 포함하는 쿼리를 분석하여 계층형 구조의 UI로 표현하는 방법에 있어서, (a) 컴퓨팅 장치가, 상기 Lucene 데이터베이스에 대한 상기 쿼리 및 상기 쿼리에 대한 분석 요청을 획득하면, 상기 컴퓨팅 장치에 포함된 API 모듈로 하여금 상기 쿼리 및 상기 쿼리에 대한 분석 요청을 상기 컴퓨팅 장치에 포함된 쿼리 분석 모듈에 전달하도록 하는 단계; (b) 상기 컴퓨팅 장치가, 상기 쿼리 분석 모듈로 하여금, 상기 쿼리를 파싱한 후 분석하여 상기 계층형 구조의 데이터 형태를 가지는 계층 데이터로 변환하도록 하고, 상기 API 모듈로 하여금 상기 계층 데이터를 상기 쿼리 분석 모듈로부터 획득한 후 상기 컴퓨팅 장치에 포함된 UI 표현 모듈에 전달하도록 하는 단계; 및 (c) 상기 컴퓨팅 장치가, 상기 UI 표현 모듈로 하여금, 상기 계층 데이터를 참조로 하여, 상기 계층형 구조를 가지는 상기 UI를 통해 디스플레이 장치에 상기 쿼리를 표현하도록 하는 단계; 를 포함하는 것을 특징으로 하는 방법이 개시된다.According to an aspect of the present invention, there is provided a search unit and a search unit including a field, a reference value, and an operation condition, which are used for managing data of the Lucene database when a Lucene database serving as a base of a search engine using the Lucene library exists, The method comprising the steps of: (a) when the computing device acquires the query for the Lucene database and the analysis request for the query, the method comprising: Causing an included API module to pass the query and an analysis request for the query to a query analysis module included in the computing device; (b) the computing device analyzes the query after parsing the query to convert it into hierarchical data having a data structure of the hierarchical structure, and causes the API module to convert the hierarchical data into the query And transferring the acquired UI module to a UI rendering module included in the computing device; And (c) causing the computing device to display the query on the display device through the UI having the hierarchical structure, with the UI representation module referring to the hierarchical data; The method comprising the steps of:

본 발명의 다른 태양에 따르면, Lucene 라이브러리를 이용한 검색 엔진의 기반이 되는 Lucene 데이터베이스가 존재할 때, 상기 Lucene 데이터베이스의 데이터를 관리하기 위해 사용되는, 필드, 기준 값 및 연산 조건을 포함하는 검색 단위 및 연산자를 하나 이상 포함하는 쿼리를 분석하여 계층형 구조의 UI로 표현하는 컴퓨팅 장치에 있어서, 지시들을 저장하는 하나 이상의 메모리; 및 상기 지시들을 수행하도록 설정된 하나 이상의 프로세서를 포함하되, 상기 프로세서는, (I) 상기 Lucene 데이터베이스에 대한 상기 쿼리 및 상기 쿼리에 대한 분석 요청을 획득하면, 컴퓨팅 장치에 포함된 API 모듈로 하여금 상기 쿼리 및 상기 쿼리에 대한 분석 요청을 상기 컴퓨팅 장치에 포함된 쿼리 분석 모듈에 전달하도록 하는 프로세스; (II) 상기 쿼리 분석 모듈로 하여금, 상기 쿼리를 파싱한 후 분석하여 상기 계층형 구조의 데이터 형태를 가지는 계층 데이터로 변환하도록 하고, 상기 API 모듈로 하여금 상기 계층 데이터를 상기 쿼리 분석 모듈로부터 획득한 후 상기 컴퓨팅 장치에 포함된 UI 표현 모듈에 전달하도록 하는 프로세스; 및 (III) 상기 UI 표현 모듈로 하여금, 상기 계층 데이터를 참조로 하여, 상기 계층형 구조를 가지는 상기 UI를 통해 디스플레이 장치에 상기 쿼리를 표현하도록 하는 프로세스; 를 수행하는 것을 특징으로 하는 컴퓨팅 장치가 개시된다.According to another aspect of the present invention, there is provided a search unit and a search unit including a field, a reference value, and an operation condition, which are used for managing data of the Lucene database when a Lucene database serving as a basis of the search engine using the Lucene library exists, And displaying the query as a UI in a hierarchical structure, the computing device comprising: one or more memories for storing instructions; And one or more processors configured to perform the instructions, wherein the processor is configured to: (I) obtain an analysis request for the query and the query for the Lucene database, And transferring an analysis request for the query to a query analysis module included in the computing device; (II) parsing and analyzing the query to convert the query into hierarchical data having a data structure of the hierarchical structure, and allowing the API module to obtain the hierarchical data from the query analysis module To a UI rendering module included in the computing device; And (III) causing the UI rendering module to display the query on a display device through the UI having the hierarchical structure, with reference to the hierarchical data; A computing device is disclosed that performs the following functions.

본 발명은 Lucene 라이브러리에 기반한 검색 엔진에서 사용되는 쿼리를 분석하여 계층형 구조의 UI로 표현함으로써 일반 사용자가 용이하게 쿼리를 분석하고 작성할 수 있도록 하는 효과가 있다.The present invention analyzes queries used in a search engine based on a Lucene library and expresses the queries in a hierarchical structure, thereby enabling a general user to easily analyze and create queries.

도 1은 본 발명의 일 실시예에 따른 Lucene 데이터베이스에 대한 쿼리를 분석하여 계층형 구조의 UI로 표현하는 방법을 수행하는 컴퓨팅 장치 및 디스플레이 장치의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 Lucene 데이터베이스에 대한 쿼리를 분석하여 계층형 구조의 UI로 표현하는 방법을 수행하기 위해 컴퓨팅 장치가 동작하는 방식을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 Lucene 데이터베이스에 대한 쿼리를 분석하여 계층형 구조의 UI로 표현하는 방법을 수행하기 위해 검색어 분석 모듈이 동작하는 방식을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 Lucene 데이터베이스에 대한 쿼리를 분석하여 계층형 구조의 UI로 표현하는 방법을 수행하기 위한 계층 데이터의 일 예시를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 Lucene 데이터베이스에 대한 쿼리를 분석하여 계층형 구조의 UI로 표현하는 방법을 수행한 결과의 일 예시로서 계층형 UI를 통해 계층 데이터가 표현된 것을 나타낸 도면이다.
FIG. 1 is a block diagram illustrating a configuration of a computing device and a display device for performing a method of expressing a query for a Lucene database according to an embodiment of the present invention in a UI of a hierarchical structure.
FIG. 2 is a diagram illustrating a method of operating a computing device to analyze a query for a Lucene database according to an exemplary embodiment of the present invention, and to perform a method of representing the query as a hierarchical structure UI.
FIG. 3 is a diagram illustrating a method of analyzing a query for a Lucene database according to an exemplary embodiment of the present invention and operating a query analysis module to perform a method of representing the query as a hierarchical UI.
4 is a diagram illustrating an example of hierarchical data for performing a method of analyzing a query for a Lucene database according to an exemplary embodiment of the present invention and displaying the query in a hierarchical structure UI.
5 is a diagram illustrating hierarchical data expressed in a hierarchical UI as an example of a result of analyzing a query for a Lucene database according to an exemplary embodiment of the present invention and representing the hierarchical structure as a UI .

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.The following detailed description of the invention refers to the accompanying drawings, which illustrate, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, certain features, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in connection with an embodiment. It is also to be understood that the position or arrangement of the individual components within each disclosed embodiment may be varied without departing from the spirit and scope of the invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is to be limited only by the appended claims, along with the full scope of equivalents to which such claims are entitled, if properly explained. In the drawings, like reference numerals refer to the same or similar functions throughout the several views.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, so that those skilled in the art can easily carry out the present invention.

도 1은 본 발명의 일 실시예에 따른, Lucene 데이터베이스에 대한 쿼리를 분석하여 계층형 구조의 UI로 표현하는 방법을 수행하는 컴퓨팅 장치 및 디스플레이 장치의 구성을 나타낸 도면이다.1 is a block diagram illustrating a configuration of a computing device and a display device for performing a method of analyzing a query for a Lucene database and expressing the query in a hierarchical structure according to an exemplary embodiment of the present invention.

도 1을 참조하면, 컴퓨팅 장치(100)는 API 모듈(130), 쿼리 분석 모듈(140) 및 UI 표현 모듈(150)을 포함할 수 있다. API 모듈(130), 쿼리 분석 모듈(140) 및 UI 표현 모듈(150)의 입출력 및 연산 과정은 각각 통신부(110) 및 프로세서(120)에 의해 이루어질 수 있다. 다만 도 1에서는 통신부(110) 및 프로세서(120)의 구체적인 연결 관계를 생략하였다. 이 때, 메모리(115)는 후술할 여러 가지 지시들을 저장한 상태일 수 있고, 프로세서(120)는 메모리에 저장된 지시들을 수행하도록 설정되되, 프로세서(120)은 추후 설명할 프로세스들을 수행함으로써 본 발명을 수행할 수 있다. 이와 같이 컴퓨팅 장치(100)가 묘사되었다고 하여, 컴퓨팅 장치(100)가 본 발명을 실시하기 위한 미디엄, 프로세서 및 메모리가 통합된 형태인 integrated 프로세서를 포함하는 경우를 배제하는 것은 아니다. 또한, 컴퓨팅 장치(100) 외부에는 디스플레이 장치(200)가 존재할 수 있는데, 컴퓨팅 장치(100)와 디스플레이 장치(200)는 서로 데이터를 주고받을 수 있을 것이다.Referring to FIG. 1, the computing device 100 may include an API module 130, a query analysis module 140, and a UI presentation module 150. The input and output operations and the computation processes of the API module 130, the query analysis module 140 and the UI rendering module 150 can be performed by the communication unit 110 and the processor 120, respectively. 1, detailed connections between the communication unit 110 and the processor 120 are omitted. At this time, the memory 115 may be stored with various instructions to be described later, and the processor 120 is set to perform instructions stored in the memory, and the processor 120 executes the processes Can be performed. Having thus described a computing device 100, computing device 100 does not preclude the inclusion of an integrated processor in the form of an integrated medium, processor, and memory for implementing the invention. In addition, the display device 200 may exist outside the computing device 100, and the computing device 100 and the display device 200 may exchange data with each other.

이상 본 발명의 일 실시예에 따른 Lucene 데이터베이스에 대한 쿼리를 분석하여 계층형 구조의 UI로 표현하는 방법을 수행하는 컴퓨팅 장치(100) 및 디스플레이 장치(200)의 구성을 설명한 바, 본 발명의 쿼리 분석 방법에 대해 구체적으로 살필 것이다.As described above, the configuration of the computing device 100 and the display device 200 that perform a method of analyzing a query for a Lucene database according to an embodiment of the present invention and displaying the same in a UI of a hierarchical structure has been described, The analysis method will be examined in detail.

그 전제로, 본 발명에 대해 설명하기 위해 사용될 각각의 용어의 의미를 정립하기로 한다. 이하에서 데이터베이스란 Lucene 라이브러리를 이용하여 제공되는 검색 엔진의 기반이 되는 Lucene 데이터베이스를 의미할 수 있다. 또한, 쿼리란, 이와 같은 Lucene 데이터베이스에 대한 검색 질의로서, 필드, 기준 값 및 연산 조건을 포함하는 검색 단위 및 연산자를 하나 이상 포함할 수 있다. 필드는 데이터베이스에 저장된 각각의 레코드들을 분류할 수 있는 각각의 속성에 대응하는 컬럼을 의미하고, 기준 값이란 연산 조건을 판단하기 위한 기준이 되는 값을 의미할 수 있다. 연산 조건은, equal, from_to, array, like, regex를 포함하는, 상기 Lucene 데이터베이스에 대한 상기 쿼리를 생성하기 위해 사용될 수 있는 연산 조건들을 포함할 수 있다. 연산자는, AND, OR, NOT을 포함하는 논리 연산자일 수 있다.As a precondition, the meaning of each term to be used for explaining the present invention will be established. Hereinafter, the database may refer to a Lucene database serving as a basis of a search engine provided using a Lucene library. The query may include one or more search units and operators including a field, a reference value, and an operation condition as a search query for the Lucene database. Field indicates a column corresponding to each attribute that can classify each record stored in the database, and the reference value may mean a value that is a reference for determining an operation condition. The computation conditions may include computation conditions that may be used to generate the query for the Lucene database, including equal, from_to, array, like, and regex. The operator may be a logical operator including AND, OR, NOT.

예를 들어, log_type:0 AND dstn_port:80이라는 예시 쿼리가 있다면, log_type 및 dstn_port는 필드, 기준 값은 0 및 80, 추후 자세히 설명하겠지만, 값만 존재하는 형태인 기준 값의 형태가 equal에 대응하는 연산 조건을 나타낼 수 있다. 또한, log_type:0 및 dstn_port:80 각각은 검색 단위를 나타내며, AND는 연산자를 나타낼 수 있다.For example, if there is an example query log_type: 0 AND dstn_port: 80, log_type and dstn_port are fields, and reference values are 0 and 80. However, Condition. Also, each of log_type: 0 and dstn_port: 80 represents a search unit, and AND represents an operator.

또한, 추후 사용될 용어들 중, 단일 검색 단위란 이와 같은 검색 단위가 단독으로 존재하는 경우를 의미하고, 연동 검색 단위 집합이란, 복수 개의 검색 단위들이 연동된 형태로 존재하는 경우를 의미한다. 단순한 예로, 연동 검색 단위는 검색 단위들이 괄호로 묶인 경우를 의미할 수 있다. 가령 (log_type:0 AND dstn_port:80) OR src_port:80이라는 예시 쿼리가 있다면, (log_type:0 AND dstn_port:80)은 연동 검색 단위 집합이고, src_port:80은 단일 검색 단위일 것이다.Also, among the terms to be used later, a single search unit refers to a case where such a search unit exists singly, and an interlocking search unit set refers to a case where a plurality of search units exists in an interlocked form. As a simple example, an interlocking search unit may mean that the search units are enclosed in parentheses. For example: (log_type: 0 AND dstn_port: 80) OR src_port: 80 If there is an example query, (log_type: 0 AND dstn_port: 80) is an interlocked search unit set and src_port: 80 would be a single search unit.

이상 본 발명을 설명하기 위한 용어들의 의미에 대해 자세히 설명한 바, 이하 본격적으로 본 발명에 대해 설명하고자 한다.Hereinafter, the meaning of the terms for describing the present invention has been described in detail, and the present invention will be described in earnest.

먼저, 컴퓨팅 장치(100)는, 통신부(110)를 통해, 데이터베이스에 대한 쿼리 및 해당 쿼리에 대한 분석 요청을 획득할 수 있다. 일 실시예로서, 사용자가 컴퓨팅 장치(100)에 쿼리를 입력함으로써 컴퓨팅 장치(100)가 쿼리를 획득하는 것으로 구현할 수 있다. 또한, 이와 같은 실시예를 구현함에 있어서, 컴퓨팅 장치(100)가 쿼리를 획득하면 자동으로 해당 쿼리에 대한 분석 요청을 획득하는 것으로 구현할 수 있고, 또는, 사용자가 해당 쿼리에 대한 분석 요청을 별도로 컴퓨팅 장치(100)에 입력하여야 하는 것으로 구현할 수도 있을 것이다.First, through the communication unit 110, the computing device 100 can obtain a query for a database and an analysis request for the query. In one embodiment, the computing device 100 may be implemented by the user obtaining a query by entering a query into the computing device 100. In implementing such an embodiment, when the computing device 100 acquires a query, it can be implemented by automatically obtaining an analysis request for the query. Alternatively, the analysis request for the query can be separately computed And may be implemented by inputting to the device 100. [

이와 같이 컴퓨팅 장치(100)가 쿼리 및 해당 쿼리에 대한 분석 요청을 획득하면, 컴퓨팅 장치(100)에 포함된 API 모듈(130)이 이후의 프로세스 전반을 관리하도록 할 수 있다. 이를 설명하기 위해 도 2를 참조하도록 한다.When the computing device 100 acquires the analysis request for the query and the query, the API module 130 included in the computing device 100 can manage the entire subsequent process. To illustrate this, reference is made to Fig.

도 2는 본 발명의 일 실시예에 따른, Lucene 데이터베이스에 대한 쿼리를 분석하여 계층형 구조의 UI로 표현하는 방법을 수행하기 위해 컴퓨팅 장치가 동작하는 방식을 나타낸 도면이다.FIG. 2 is a diagram illustrating a method of operating a computing device to analyze a query for a Lucene database and to express the query in a hierarchical structure UI according to an exemplary embodiment of the present invention. Referring to FIG.

도 2를 참조로 하면, 컴퓨팅 장치(100)가, API 모듈(130)로 하여금 쿼리 및 해당 쿼리에 대한 분석 요청을 컴퓨팅 장치(100)에 포함된 쿼리 분석 모듈(140)에 전달하도록 할 수 있음을 알 수 있다. 또한, 컴퓨팅 장치(100)가, 쿼리 분석 모듈(140)로 하여금 전달받은 쿼리를 파싱한 후 분석하여 이를 계층형 구조의 데이터 형태를 가지는 계층 데이터로 변환하도록 하고, API 모듈(130)로 하여금 계층 데이터를 쿼리 분석 모듈로부터 획득한 다음, 컴퓨팅 장치(100)에 포함된 UI 표현 모듈(150)에 전달하도록 할 수 있음도 도 2에 도시되어 있다.2, the computing device 100 may cause the API module 130 to pass a query and an analysis request for the query to the query analysis module 140 included in the computing device 100 . In addition, the computing device 100 may allow the query analysis module 140 to parse the received query and to analyze the query to convert it into hierarchical data having a data structure of a hierarchical structure, It is also shown in FIG. 2 that data may be obtained from the query analysis module and then delivered to the UI presentation module 150 included in the computing device 100.

이와 같이 API 모듈(130)을 중심으로 프로세스가 이루어지는 것은, API 모듈(130)이, 쿼리 분석 모듈(140) 및 UI 표현 모듈(150)이 제공하는 기능을 제어할 수 있도록 하는 인터페이스를 제공하는 역할을 하고, 또한 쿼리 분석 모듈(140) 및 UI 표현 모듈(150) 전반의 데이터 입출력 및 동작을 관리하는 역할을 하기 때문이다. 따라서, API 모듈(130)이 쿼리 및 해당 쿼리에 대한 분석 요청을 쿼리 분석 모듈(140)에 전달하고, 이에 대한 쿼리 분석 모듈(140)의 연산 결과를 UI 표현 모듈(150)에 전달할 수 있는 것이다.The reason why the process is performed centering on the API module 130 is that the API module 130 provides an interface for controlling the functions provided by the query analysis module 140 and the UI expression module 150 And also manages data input / output and operation of the entire query analysis module 140 and the UI rendering module 150. Accordingly, the API module 130 may transmit an analysis request for the query and the query to the query analysis module 140, and may transmit the operation result of the query analysis module 140 to the UI expression module 150 .

이와 같은 과정에서, 쿼리 분석 모듈(140)이 쿼리를 계층 데이터로 변환하는 방식에 대해 구체적으로 살피기 위해 도 3을 참조하도록 한다. In such a process, the query analysis module 140 refers to FIG. 3 to specifically examine a method of converting a query into hierarchical data.

도 3은 본 발명의 일 실시예에 따른, Lucene 데이터베이스에 대한 쿼리를 분석하여 계층형 구조의 UI로 표현하는 방법을 수행하기 위해 검색어 분석 모듈이 동작하는 방식을 나타낸 도면이다.3 is a diagram illustrating a method of analyzing a query for a Lucene database and operating a query analysis module to perform a method of representing the query in a hierarchical structure UI according to an embodiment of the present invention.

도 3을 참조로 하면, 쿼리가 쿼리 분석 모듈(140)에 의해 획득되면, 쿼리를 분류(S01)하고, 쿼리에 논리 연산자 분석을 적용(S02)한 다음, 분리 연산을 적용(S03)한 후, 식별 연산(S04)를 적용하며, 이와 같은 과정을 통해 계층 데이터를 생성(S05)할 수 있음을 알 수 있다. 해당 과정에 대해 구체적으로 살핀다.Referring to FIG. 3, when a query is acquired by the query analysis module 140, the query is classified (S01), a logic operator analysis is applied to the query (S02), a separation operation is applied (S03) , And identification operation (S04), and it is understood that the layer data can be generated through this process (S05). I will specifically examine the process.

먼저, 컴퓨팅 장치(100)가 쿼리 분석 모듈(140)로 하여금, 쿼리에 포함된 검색 단위들을, 이전에 설명한 바와 같은, 복수 개의 검색 단위들이 연동된 형태인 연동 검색 단위 집합 및 각각의 검색 단위들이 단일로 존재하는 단일 검색 단위들로 분류하도록 할 수 있다(S01).First, the computing device 100 causes the query analysis module 140 to convert the search units included in the query into a set of interlocked search units, which is a type in which a plurality of search units are interlocked, It can be classified into single search units that exist as a single unit (S01).

이는, 각각의 연동 검색 단위 집합에 포함된 검색 단위들은 그 내부적으로 계층이 있는 바, 해당 연동 검색 단위 집합 외부의 검색 단위들 또는 다른 연동 검색 단위 집합의 검색 단위들과 함께 계층을 나누면 안 되기 때문이다.This is because the search units included in each interlocked search unit set are internally hierarchical and can not be divided into the search units outside the corresponding interlocked search unit set or the search units of other interlocked search unit sets to be.

따라서, 이와 같이 분류가 완료되면, 컴퓨팅 장치(100)는, 쿼리 분석 모듈(140)로 하여금, 각각의 연동 검색 단위 집합에 포함된 검색 단위들에 대해 논리 연산자 분석 연산을 적용하여 각각의 예비 계층 데이터 서브셋들을 생성하도록 할 수 있다.Accordingly, when the classification is completed, the computing device 100 causes the query analysis module 140 to apply a logical operator analysis operation to the search units included in each set of interlocked search units, To generate data subsets.

이 때, 논리 연산자 분석 연산은, 각각의 연산자들에 대응하는 검색 단위들을 검출한 후, 동일한 연산자 별로 이에 대응하는, 검색 단위들 중 일부의 검색 단위들을 배열 형태로 그룹핑하는 연산이다. 예를 들어, 예시 연동 검색 단위 집합 내에서 동일 계층에 다섯 개의 검색 단위들이 AND 연산자로 연결되어 있다면, 이와 같은 다섯 개의 검색 단위들을 배열 형태로 묶어 그룹핑한다는 것이다.At this time, the logical operator analysis operation is an operation of detecting search units corresponding to respective operators and then grouping search units of some search units corresponding to the same operators in an array form. For example, if five search units in the same hierarchy are connected by an AND operator in the example interlocked search unit set, then these five search units are grouped in an array form.

이후, 컴퓨팅 장치(100)는, 쿼리 분석 모듈(140)로 하여금, 각각의 예비 계층 데이터 서브셋들 및 단일 검색 단위들에 논리 연산자 분석 연산을 적용하도록 함으로써 예비 계층 데이터를 생성하도록 할 수 있다(S02). 그런데 이 때, 동일한 연산자에 대응하는 각각의 예비 계층 데이터 서브셋들과 각각의 상기 단일 검색 단위들은 동일하게 취급될 수 있다. 다시 말하면, 동일한 연산자에 대응하는 각각의 예비 계층 데이터 서브셋들이 각각의 단일 검색 단위들과 동일한 계층을 가지도록 설정한 상태로 논리 연산자 분석 연산을 적용할 수 있다는 것이다. 이는 추후 설명할 도 4의 예시를 참조로 하면 명확히 이해될 수 있을 것이다.The computing device 100 may then cause the query analysis module 140 to generate the reserve layer data by applying a logical operator analysis operation to each of the pre-layer data subsets and the single search units (S02 ). At this time, however, each of the preparatory layer data subsets corresponding to the same operator and each of the single search units may be handled identically. In other words, logical operator analysis operations can be applied with each of the preparatory layer data subsets corresponding to the same operator set to have the same hierarchy as each of the single search units. This can be clearly understood with reference to the example of FIG. 4 to be described later.

논리 연산자 분석 연산의 적용 순서는, 실시예의 구현에 따라 달라질 수 있다. 즉, 각각의 연동 검색 단위 집합에 대해 논리 연산자 분석 연산을 적용한 다음 전체 쿼리에 대해 논리 연산자 분석 연산을 적용할 수도 있고, 그 반대일 수도 있는 것이다.The order of application of the logical operator analysis operation may vary depending on the implementation of the embodiment. That is, you can apply a logical operator analysis operation on each set of interlocked search units, then apply a logical operator analysis operation on the entire query, or vice versa.

이후, 컴퓨팅 장치(100)는 쿼리 분석 모듈(140)로 하여금, 예비 계층 데이터에 포함된 검색 단위들을 필드, 기준 값 및 연산 조건으로 분리하는 분리 연산을 예비 계층 데이터에 적용할 수 있다(S03). 이와 같이 검색 단위들을 분리함으로써, 쿼리를 UI를 통해 표현할 때 필드 및 기준 값을 따로따로 표현할 수 있고, 필요한 경우 검색 단위의 특정 구성 요소, 즉 필드 및 기준 값 중 하나를 강조하여 표현하거나, 다른 색상으로 표현할 수 있을 것이다.Then, the computing device 100 may apply the separation operation to the query analysis module 140 to divide the search units included in the spare layer data into fields, reference values, and calculation conditions to the spare layer data (S03) . By separating the search units as described above, the field and the reference value can be expressed separately when the query is expressed through the UI, and if necessary, the specific component of the search unit, that is, one of the field and the reference value, .

분리 연산은, 각각의 검색 단위에 포함된 문자열을 파싱함으로써 수행될 수 있다. 예를 들어, eqp_dt:[20180417110200 TO 2018017110300]라는 검색 단위가 있다면, 이를 파싱하여, 콜론 앞에 있는 문자열은 필드로 취급하고, 콜론 뒤에 있는 문자열은 기준 값으로 취급할 수 있다.The separation operation can be performed by parsing the character string contained in each search unit. For example, if you have a search unit called eqp_dt: [20180417110200 TO 2018017110300], you can parse it, treat the string before the colon as a field, and treat the string after the colon as a base value.

다음으로, 컴퓨팅 장치(100)는 쿼리 분석 모듈(140)로 하여금, 예비 계층 데이터의 각각의 검색 단위들에 포함된 연산 조건들을 식별하는 연산인 식별 연산을 예비 계층 데이터에 적용하도록 할 수 있다(S04).Next, the computing device 100 may cause the query analysis module 140 to apply an identification operation to the reserve layer data, which is an operation that identifies the operation conditions contained in each of the search units of the reserve layer data S04).

식별 연산은, 기준 값의 형태를 파악하여 알 수 있다. 예를 들어, 처음에 들었던 예시인 log_type:0이라는 검색 단위의 경우, 기준 값이 단순하게 값만으로 표시되어 있는 바 연산 조건이 equal임을 알 수 있다. 분리 연산을 설명할 때 들었던 예시인 eqp_dt:[20180417110200 TO 2018017110300]라는 검색 단위의 경우, 기준 값이 범위로 이루어져 있고, 숫자 사이에 제시된 문자가 TO이므로 from_to 연산 조건임을 알 수 있다.The identification operation can be obtained by grasping the form of the reference value. For example, in the case of the search unit log_type: 0, which is the first example heard, the reference value is simply expressed as a value, so that the operation condition is equal. In the case of the retrieval unit called eqp_dt: [20180417110200 TO 2018017110300], which is an example of the separation operation, the reference value is in the range and the character shown between the numbers is TO.

이와 같은 연산 과정을 거쳐, 쿼리가 계층 데이터로 변환될 수 있다(S05). 변환된 계층 데이터의 일 예시를 살피기 위해 도 4를 참조하도록 한다.Through such an arithmetic operation, the query can be converted into hierarchical data (S05). Reference is made to Fig. 4 for an example of transformed layer data.

도 4는 본 발명의 일 실시예에 따른 Lucene 데이터베이스에 대한 쿼리를 분석하여 계층형 구조의 UI로 표현하는 방법을 수행하기 위한 계층 데이터의 일 예시를 나타낸 도면이다.4 is a diagram illustrating an example of hierarchical data for performing a method of analyzing a query for a Lucene database according to an exemplary embodiment of the present invention and displaying the query in a hierarchical structure UI.

도 4를 참조로 하면, 계층 데이터가, 필드와 기준 값이 분리되고, 연산 조건이 식별된 상태로, 같은 연산자 하에 있는 검색 단위들이 그룹핑되어 있음을 알 수 있다. 계층 데이터 1열은, operator, 즉 연산자가 AND임을 나타내며, 이와 함께 중괄호({})로 그룹핑된 검색 단위들(141)은 모두 AND로 연결되어 있음을 나타내는 것이다. 또한, 계층 데이터 8열부터 19열(143)은, AND 연산자에 대응하는 예비 계층 데이터 서브셋에 대응하는, 이후 연산이 완료된 계층 데이터 서브셋이다. 전술하였던, 연동 검색 단위 집합과 단일 검색 단위들이 동일하게 취급된다는 것은 본 도면을 보면 알 수 있다. 동일한 AND 연산자에 대응하면서, 3열부터 7열까지 존재하는 단일 검색 단위(142)에 대응하는 객체들과, 8열부터 19열까지 존재하는, 연동 검색 단위 집합(143)에 대응하는 객체는 동일 계층에 존재한다. 전술하였던 바는 이와 같은 방식을 의도한 것이다.Referring to FIG. 4, it can be seen that the hierarchical data is divided into fields and reference values, and the search conditions under the same operator are grouped with the search condition being identified. The column of the hierarchical data 1 indicates that the operator, that is, the operator is AND, and that all the search units 141 grouped by curly brackets ({}) are connected by AND. In addition, the hierarchical data columns 8 to 19 (143) are hierarchical data subsets corresponding to the preliminary hierarchical data subset corresponding to the AND operator, after which the computation is completed. As described above, the interlocking search unit set and the single search units are handled identically. The objects corresponding to the single search unit 142 existing in the third to seventh columns and the objects corresponding to the interlocking search unit set 143 existing in the 8th to 19th columns corresponding to the same AND operator are the same Layer. What I have mentioned above is intended to do this.

계층 데이터의 경우, 데이터에 포함된 값들의 계층 구조를 잘 표현할 수 있는 데이터 포맷으로 생성되는데, 일 예시로서 json 포맷으로 생성될 수 있다.In the case of hierarchical data, a hierarchical structure of values included in the data is generated in a data format that can be expressed in a json format as an example.

변환된 계층 데이터는, API 모듈(130)을 통해 UI 표현 모듈(150)에 전달된다. 이 때, 컴퓨팅 장치(100)는 UI 표현 모듈(150)로 하여금, 계층 데이터를 참조로 하여 계층형 구조를 가지는 UI를 통해 디스플레이 장치(200)에 쿼리를 표현하도록 할 수 있다. 이에 대해 구체적으로 설명하기 위해 도 5를 참조하도록 한다.The converted layer data is transferred to the UI rendering module 150 through the API module 130. At this time, the computing device 100 can cause the UI rendering module 150 to display the query on the display device 200 through the UI having the hierarchical structure with reference to the hierarchical data. Reference will be made to Fig. 5 to describe this in detail.

도 5는 본 발명의 일 실시예에 따른 Lucene 데이터베이스에 대한 쿼리를 분석하여 계층형 구조의 UI로 표현하는 방법을 수행한 결과의 일 예시로서 계층형 UI를 통해 계층 데이터가 표현된 것을 나타낸 도면이다.5 is a diagram illustrating hierarchical data expressed in a hierarchical UI as an example of a result of analyzing a query for a Lucene database according to an exemplary embodiment of the present invention and representing the hierarchical structure as a UI .

도 5를 참조하면, 컴퓨팅 장치(100)는, UI 표현 모듈(150)로 하여금, 컴퓨팅 장치(100)에 연결된 디스플레이 장치(200) 상에 UI 화면을 디스플레이하되, UI 화면 상의 제1 영역(210-1, 210-2, 210-3)에 계층 데이터에 포함된 연산자들 중 일부인 특정 연산자들을 디스플레이하고, 제1 영역(210-1, 210-2, 210-3)의 인근에 위치한 제2 영역(220-1, 220-2, 220-3)에 특정 연산자들에 대응하는, 계층 데이터에 포함되는 검색 단위들 중 적어도 일부인 특정 검색 단위들을 디스플레이할 수 있음을 알 수 있다. 일 예시로서, 제2 영역(220-1, 220-2, 220-3)은 제1 영역(210-1, 210-2, 210-3) 하단에 위치할 수 있다.5, the computing device 100 may cause the UI rendering module 150 to display a UI screen on the display device 200 connected to the computing device 100, -1, 210-2, and 210-3, the specific operators that are part of the operators included in the hierarchical data are displayed, and the second regions 210-1, 210-2, and 210-3, It is possible to display specific search units, which are at least part of the search units included in the layer data, corresponding to specific operators in the search units 220-1, 220-2, and 220-3. As an example, the second areas 220-1, 220-2, and 220-3 may be located at the bottom of the first areas 210-1, 210-2, and 210-3.

이와 같이 컴퓨팅 장치(100)가 UI 표현 모듈(150)로 하여금 디스플레이 장치(200)를 통해 제1 영역 및 제2 영역에 각각 연산자들 및 이에 대응하는 검색 단위들을 디스플레이하도록 함으로써, 사용자가 용이하게 쿼리를 분석하고 작성할 수 있게 된다.In this manner, by allowing the computing device 100 to display the operators and their corresponding search units in the first area and the second area via the display device 200 by the UI expression module 150, Can be analyzed and written.

본 발명 기술분야의 통상의 기술자에게 이해될 수 있는 바로서, 위에서 설명된 이미지, 예컨대 원본 이미지, 원본 레이블 및 추가 레이블과 같은 이미지 데이터의 송수신이 학습 장치 및 테스트 장치의 통신부들에 의하여 이루어질 수 있으며, 특징 맵과 연산을 수행하기 위한 데이터가 학습 장치 및 테스트 장치의 프로세서(및/또는 메모리)에 의하여 보유/유지될 수 있고, 컨벌루션 연산, 디컨벌루션 연산, 로스 값 연산 과정이 주로 학습 장치 및 테스트 장치의 프로세서에 의하여 수행될 수 있으나, 본 발명이 이에 한정되지는 않을 것이다. As can be appreciated by those of ordinary skill in the art, the transmission and reception of image data, such as the images described above, such as original images, original labels and additional labels, can be made by the communication units of the learning apparatus and the test apparatus , The feature map and the data for performing the operation can be held / held by the processor (and / or memory) of the learning apparatus and the test apparatus, and the convolution operation, the decoupling operation, But the present invention is not limited thereto.

이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The embodiments of the present invention described above can be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program commands, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer-readable recording medium may be those specially designed and constructed for the present invention or may be those known and used by those skilled in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules for performing the processing according to the present invention, and vice versa.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, Those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be construed as being limited to the above-described embodiments, and all of the equivalents or equivalents of the claims, as well as the following claims, I will say.

Claims (14)

Lucene 라이브러리를 이용한 검색 엔진의 기반이 되는 Lucene 데이터베이스가 존재할 때, 상기 Lucene 데이터베이스의 데이터를 관리하기 위해 사용되는, 필드, 기준 값 및 연산 조건을 포함하는 검색 단위 및 연산자를 하나 이상 포함하는 쿼리를 분석하여 계층형 구조의 UI로 표현하는 방법에 있어서,
(a) 컴퓨팅 장치가, 상기 Lucene 데이터베이스에 대한 상기 쿼리 및 상기 쿼리에 대한 분석 요청을 획득하면, 상기 컴퓨팅 장치에 포함된 API 모듈로 하여금 상기 쿼리 및 상기 쿼리에 대한 분석 요청을 상기 컴퓨팅 장치에 포함된 쿼리 분석 모듈에 전달하도록 하는 단계;
(b) 상기 컴퓨팅 장치가, 상기 쿼리 분석 모듈로 하여금, 상기 쿼리를 파싱한 후 분석하여 상기 계층형 구조의 데이터 형태를 가지는 계층 데이터로 변환하도록 하고, 상기 API 모듈로 하여금 상기 계층 데이터를 상기 쿼리 분석 모듈로부터 획득한 후 상기 컴퓨팅 장치에 포함된 UI 표현 모듈에 전달하도록 하는 단계; 및
(c) 상기 컴퓨팅 장치가, 상기 UI 표현 모듈로 하여금, 상기 계층 데이터를 참조로 하여, 상기 계층형 구조를 가지는 상기 UI를 통해 디스플레이 장치에 상기 쿼리를 표현하도록 하는 단계;
를 포함하되,
상기 (b) 단계는,
상기 컴퓨팅 장치가, 상기 쿼리 분석 모듈로 하여금, (i) 상기 쿼리에 포함된 각각의 연산자들에 대응하는 상기 검색 단위들을 검출한 후, 동일한 연산자 별로 이에 대응하는, 상기 검색 단위들 중 일부의 검색 단위들을 배열 형태로 그룹핑하는 논리 연산자 분석 연산을 상기 쿼리에 적용하여 예비 계층 데이터를 생성하도록 하고, (ii) 상기 예비 계층 데이터에 포함된 검색 단위들을 상기 필드 및 상기 기준 값으로 분리하는 분리 연산을 상기 예비 계층 데이터에 적용한 다음, (iii) 상기 검색 단위들에 포함된 상기 연산 조건들을 식별하는 연산인 식별 연산을 상기 예비 계층 데이터에 적용하는 과정을 거쳐 상기 계층 데이터를 생성함으로써 상기 쿼리를 상기 계층 데이터로 변환하도록 하는 것을 특징으로 하는 방법.
A query including at least one search unit and an operator including a field, a reference value, and an operation condition, which is used for managing data of the Lucene database, when a Lucene database serving as a base of the search engine using the Lucene library exists In a hierarchical structure,
(a) when the computing device acquires the query for the Lucene database and the analysis request for the query, the API module included in the computing device includes an analysis request for the query and the query in the computing device To the query analysis module;
(b) the computing device analyzes the query after parsing the query to convert it into hierarchical data having a data structure of the hierarchical structure, and causes the API module to convert the hierarchical data into the query And transferring the acquired UI module to a UI rendering module included in the computing device; And
(c) causing the computing device to cause the UI rendering module to display the query on the display device through the UI having the hierarchical structure, with reference to the hierarchical data;
, ≪ / RTI &
The step (b)
Wherein the computing device is configured to cause the query analysis module to perform the steps of (i) detecting the search units corresponding to the respective operators included in the query, and then searching for a part of the search units (Ii) separating the search units included in the preliminary layer data into the field and the reference value by applying a logic operator analysis operation for grouping the units into an array form to generate the preliminary layer data; And (iii) applying an identification operation, which is an operation for identifying the operation conditions included in the search units, to the spare layer data to generate the layer data, Data is converted into data.
삭제delete 제 1항에 있어서,
상기 컴퓨팅 장치가, 상기 쿼리 분석 모듈로 하여금, 상기 논리 연산자 연산을 상기 쿼리에 적용하기 이전에, 상기 쿼리에 포함된 상기 검색 단위들을, 복수 개의 검색 단위들이 연동된 형태인 연동 검색 단위 집합 및 각각의 검색 단위들이 단일로 존재하는 형태인 단일 검색 단위들로 분류하도록 하는 것을 특징으로 하는 방법.
The method according to claim 1,
Wherein the computing device is configured to cause the query analyzing module to search the query units included in the query for a set of interlocking search units that are interlocked with a plurality of search units, To a single search unit that is a single existing search unit.
제 3항에 있어서,
상기 컴퓨팅 장치가, 상기 쿼리 분석 모듈로 하여금, 각각의 연동 검색 단위 집합에 포함된 검색 단위들에 대해 상기 논리 연산자 분석 연산을 적용하여 각각의 예비 계층 데이터 서브셋들을 생성하고, 각각의 상기 예비 계층 데이터 서브셋들 및 상기 단일 검색 단위들에 상기 논리 연산자 분석 연산을 적용하도록 하되, 동일한 연산자에 대응하는 (i) 각각의 상기 예비 계층 데이터 서브셋들 및 (ii) 각각의 상기 단일 검색 단위들이 동일한 계층을 가지도록 설정한 상태로 상기 논리 연산자 분석 연산을 적용하도록 함으로써 상기 예비 계층 데이터를 생성하도록 하는 것을 특징으로 하는 방법.
The method of claim 3,
Wherein the computing device is configured to cause the query analysis module to generate each of the preliminary layer data subsets by applying the logical operator analysis operation to the search units included in each interlocking search unit set, Subsets and the single search units, wherein (i) each of the redundancy hierarchy data subsets corresponding to the same operator and (ii) each of the single search units has the same hierarchy So as to generate the preliminary layer data by applying the logic operator analysis operation.
제 1항에 있어서,
상기 연산 조건은 equal, from_to, array, like, regex를 포함하는, 상기 Lucene 데이터베이스에 대한 상기 쿼리를 생성하기 위해 사용될 수 있는 연산 조건들을 포함하는 것을 특징으로 하는 방법.
The method according to claim 1,
Wherein the computation conditions include computation conditions that may be used to generate the query for the Lucene database, including equal, from_to, array, like, and regex.
제 1항에 있어서,
상기 계층 데이터는, json을 포함하는, 계층 구조를 표현할 수 있는 데이터 포맷으로 생성되는 것을 특징으로 하는 방법.
The method according to claim 1,
Wherein the layer data is generated in a data format capable of representing a hierarchical structure including json.
제 1항에 있어서,
상기 (c) 단계는,
상기 컴퓨팅 장치가, 상기 UI 표현 모듈로 하여금, 상기 컴퓨팅 장치에 연결된 디스플레이 장치 상에 UI 화면을 디스플레이하되, 상기 UI 화면 상의 제1 영역에 상기 계층 데이터에 포함된 상기 연산자들 중 일부인 특정 연산자를 디스플레이하고, 제1 영역의 인근에 위치한 제2 영역에 상기 특정 연산자에 대응하는, 상기 검색 단위 중 적어도 일부인 특정 검색 단위들을 디스플레이하도록 하는 것을 특징으로 하는 방법.
The method according to claim 1,
The step (c)
Wherein the computing device displays the UI screen on the display device connected to the computing device by the UI rendering module and displays a specific operator that is a part of the operators included in the hierarchical data in the first area on the UI screen And to display specific search units that are at least a part of the search unit corresponding to the specific operator in a second region located near the first region.
Lucene 라이브러리를 이용한 검색 엔진의 기반이 되는 Lucene 데이터베이스가 존재할 때, 상기 Lucene 데이터베이스의 데이터를 관리하기 위해 사용되는, 필드, 기준 값 및 연산 조건을 포함하는 검색 단위 및 연산자를 하나 이상 포함하는 쿼리를 분석하여 계층형 구조의 UI로 표현하는 컴퓨팅 장치에 있어서,
지시들을 저장하는 하나 이상의 메모리; 및
상기 지시들을 수행하도록 설정된 하나 이상의 프로세서를 포함하되,
상기 프로세서는, (I) 상기 Lucene 데이터베이스에 대한 상기 쿼리 및 상기 쿼리에 대한 분석 요청을 획득하면, 컴퓨팅 장치에 포함된 API 모듈로 하여금 상기 쿼리 및 상기 쿼리에 대한 분석 요청을 상기 컴퓨팅 장치에 포함된 쿼리 분석 모듈에 전달하도록 하는 프로세스; (II) 상기 쿼리 분석 모듈로 하여금, 상기 쿼리를 파싱한 후 분석하여 상기 계층형 구조의 데이터 형태를 가지는 계층 데이터로 변환하도록 하고, 상기 API 모듈로 하여금 상기 계층 데이터를 상기 쿼리 분석 모듈로부터 획득한 후 상기 컴퓨팅 장치에 포함된 UI 표현 모듈에 전달하도록 하는 프로세스; 및 (III) 상기 UI 표현 모듈로 하여금, 상기 계층 데이터를 참조로 하여, 상기 계층형 구조를 가지는 상기 UI를 통해 디스플레이 장치에 상기 쿼리를 표현하도록 하는 프로세스; 를 수행하되,
상기 (II) 프로세스는,
상기 프로세서가, 상기 쿼리 분석 모듈로 하여금, (i) 상기 쿼리에 포함된 각각의 연산자들에 대응하는 상기 검색 단위들을 검출한 후, 동일한 연산자 별로 이에 대응하는, 상기 검색 단위들 중 일부의 검색 단위들을 배열 형태로 그룹핑하는 논리 연산자 분석 연산을 상기 쿼리에 적용하여 예비 계층 데이터를 생성하도록 하고, (ii) 상기 예비 계층 데이터에 포함된 검색 단위들을 상기 필드 및 상기 기준 값으로 분리하는 분리 연산을 상기 예비 계층 데이터에 적용한 다음, (iii) 상기 검색 단위들에 포함된 상기 연산 조건들을 식별하는 연산인 식별 연산을 상기 예비 계층 데이터에 적용하는 과정을 거쳐 상기 계층 데이터를 생성함으로써 상기 쿼리를 상기 계층 데이터로 변환하도록 하는 것을 특징으로 하는 컴퓨팅 장치.
A query including at least one search unit and an operator including a field, a reference value, and an operation condition, which is used for managing data of the Lucene database, when a Lucene database serving as a base of the search engine using the Lucene library exists And displaying the UI in a hierarchical structure, the computing device comprising:
One or more memories for storing instructions; And
And one or more processors configured to perform the instructions,
(I) acquiring an analysis request for the query and the query for the Lucene database, causing the API module included in the computing device to send an analysis request for the query and the query to the computing device The process to be passed to the query analysis module; (II) parsing and analyzing the query to convert the query into hierarchical data having a data structure of the hierarchical structure, and allowing the API module to obtain the hierarchical data from the query analysis module To a UI rendering module included in the computing device; And (III) causing the UI rendering module to display the query on a display device through the UI having the hierarchical structure, with reference to the hierarchical data; Lt; / RTI >
The process (II)
Wherein the processor is configured to cause the query analysis module to perform the steps of: (i) detecting the search units corresponding to the respective operators included in the query, (Ii) separating search units included in the preliminary layer data into the field and the reference value by applying a logical operator analysis operation for grouping the preliminary layer data into an array form, (Iii) applying an identification operation, which is an operation for identifying the calculation conditions included in the search units, to the spare layer data to generate the layer data, To the computing device.
삭제delete 제 8항에 있어서,
상기 프로세서가, 상기 쿼리 분석 모듈로 하여금, 상기 논리 연산자 연산을 상기 쿼리에 적용하기 이전에, 상기 쿼리에 포함된 상기 검색 단위들을, 복수 개의 검색 단위들이 연동된 형태인 연동 검색 단위 집합 및 각각의 검색 단위들이 단일로 존재하는 형태인 단일 검색 단위들로 분류하도록 하는 것을 특징으로 하는 컴퓨팅 장치.
9. The method of claim 8,
Wherein the processor is configured to cause the query analysis module to perform a search operation on the search units included in the query by using a set of interlocking search units that are a type in which a plurality of search units are interlocked, And to classify the search units into single search units that are in a single existing form.
제 10항에 있어서,
상기 프로세서가, 상기 쿼리 분석 모듈로 하여금, 각각의 연동 검색 단위 집합에 포함된 검색 단위들에 대해 상기 논리 연산자 분석 연산을 적용하여 각각의 예비 계층 데이터 서브셋들을 생성하고, 각각의 상기 예비 계층 데이터 서브셋들 및 상기 단일 검색 단위들에 상기 논리 연산자 분석 연산을 적용하도록 하되, 동일한 연산자에 대응하는 (i) 각각의 상기 예비 계층 데이터 서브셋들 및 (ii) 각각의 상기 단일 검색 단위들이 동일한 계층을 가지도록 설정한 상태로 상기 논리 연산자 분석 연산을 적용하도록 함으로써 상기 예비 계층 데이터를 생성하도록 하는 것을 특징으로 하는 컴퓨팅 장치.
11. The method of claim 10,
Wherein the processor is configured to cause the query analysis module to apply the logical operator analysis operations to the search units included in each interlocked search unit set to generate respective spare layer data subsets, (I) each of the redundancy hierarchy data subsets corresponding to the same operator and (ii) each of the single search units has the same hierarchy so as to apply the logical operator analysis operation to the single search units And generates the preliminary layer data by applying the logical operator analysis operation in a set state.
제 8항에 있어서,
상기 연산 조건은 equal, from_to, array, like, regex를 포함하는, 상기 Lucene 데이터베이스에 대한 상기 쿼리를 생성하기 위해 사용될 수 있는 연산 조건들을 포함하는 것을 특징으로 하는 컴퓨팅 장치.
9. The method of claim 8,
Wherein the computing conditions include computing conditions that can be used to generate the query for the Lucene database, including equal, from_to, array, like, and regex.
제 8항에 있어서,
상기 계층 데이터는, json을 포함하는, 계층 구조를 표현할 수 있는 데이터 포맷으로 생성되는 것을 특징으로 하는 컴퓨팅 장치.
9. The method of claim 8,
Wherein the layer data is generated in a data format capable of representing a hierarchical structure including json.
제 8항에 있어서,
상기 (III) 프로세스는,
상기 프로세서가, 상기 UI 표현 모듈로 하여금, 상기 컴퓨팅 장치에 연결된 디스플레이 장치 상에 UI 화면을 디스플레이하되, 상기 UI 화면 상의 제1 영역에 상기 계층 데이터에 포함된 상기 연산자들 중 일부인 특정 연산자를 디스플레이하고, 제1 영역의 인근에 위치한 제2 영역에 상기 특정 연산자에 대응하는, 상기 검색 단위 중 적어도 일부인 특정 검색 단위들을 디스플레이하도록 하는 것을 특징으로 하는 컴퓨팅 장치.
9. The method of claim 8,
The process (III)
The processor displays the UI screen on the display device connected to the computing device by the UI rendering module and displays a specific operator that is a part of the operators included in the hierarchical data in the first area on the UI screen And to display specific search units that are at least a part of the search unit corresponding to the specific operator in a second region located near the first region.
KR1020180147894A 2018-11-26 2018-11-26 Method and device for displaying queries in hierarchical structure by analyzing queries inputted into lucene database KR101977107B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180147894A KR101977107B1 (en) 2018-11-26 2018-11-26 Method and device for displaying queries in hierarchical structure by analyzing queries inputted into lucene database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180147894A KR101977107B1 (en) 2018-11-26 2018-11-26 Method and device for displaying queries in hierarchical structure by analyzing queries inputted into lucene database

Publications (1)

Publication Number Publication Date
KR101977107B1 true KR101977107B1 (en) 2019-05-10

Family

ID=66580812

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180147894A KR101977107B1 (en) 2018-11-26 2018-11-26 Method and device for displaying queries in hierarchical structure by analyzing queries inputted into lucene database

Country Status (1)

Country Link
KR (1) KR101977107B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210105699A (en) * 2020-02-19 2021-08-27 심상택 Method and system for retrieving statistics and original data in structured language from open source big data system
CN115599886A (en) * 2022-10-24 2023-01-13 广州广电运通信息科技有限公司(Cn) Method and equipment for generating search logic operator for Lucene and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101629446B1 (en) * 2015-02-17 2016-06-13 충남대학교산학협력단 Apparatus and method for analyzing query
KR20180007004A (en) * 2012-08-31 2018-01-19 페이스북, 인크. Graph query logic

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180007004A (en) * 2012-08-31 2018-01-19 페이스북, 인크. Graph query logic
KR101629446B1 (en) * 2015-02-17 2016-06-13 충남대학교산학협력단 Apparatus and method for analyzing query

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210105699A (en) * 2020-02-19 2021-08-27 심상택 Method and system for retrieving statistics and original data in structured language from open source big data system
KR102346289B1 (en) * 2020-02-19 2022-01-03 심상택 Method and system for retrieving statistics and original data in structured language from open source big data system
CN115599886A (en) * 2022-10-24 2023-01-13 广州广电运通信息科技有限公司(Cn) Method and equipment for generating search logic operator for Lucene and storage medium

Similar Documents

Publication Publication Date Title
US20210374609A1 (en) System and method for training machine learning applications
US10007596B2 (en) Generating test scripts through application integration
US11568057B2 (en) Systems and methods for triaging software vulnerabilities
US11861013B2 (en) Systems and methods for triaging software vulnerabilities
KR101977107B1 (en) Method and device for displaying queries in hierarchical structure by analyzing queries inputted into lucene database
US20150033118A1 (en) Transferring component hierarchies between applications
US10171311B2 (en) Generating synthetic data
US11100141B2 (en) Monitoring organization-wide state and classification of data stored in disparate data sources of an organization
US11922230B2 (en) Natural language processing of API specifications for automatic artifact generation
CN116431598A (en) Redis-based relational database full memory method
US11275767B2 (en) Analyzing application behavior to determine relationships between data
US20240086165A1 (en) Systems and methods for building and deploying machine learning applications
US10872085B2 (en) Recording lineage in query optimization
US8954310B2 (en) Automatic designation of equivalent variable values
US20230060213A1 (en) System and method for generating automation test scripts dynamically for human machine interface testing
US10853740B2 (en) Natural language interface to interactive, operating-system shell and techniques for creating training data for the same
EP4155944A1 (en) Database troubleshooting with automated functionality
WO2024031983A1 (en) Code management method and related device
US20220318386A1 (en) Generation of a causality tree representation of threat analysis report data
JP2022176084A (en) Method and system for executing reuse analysis for model lifecycle management
CN116881289A (en) Method, device, computer equipment and storage medium for processing aggregate data
US20130179458A1 (en) Enabling siebel database manipulation by use of a direct sql statement

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant