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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/904—Browsing; 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
Description
본 발명은 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
이상 본 발명의 일 실시예에 따른 Lucene 데이터베이스에 대한 쿼리를 분석하여 계층형 구조의 UI로 표현하는 방법을 수행하는 컴퓨팅 장치(100) 및 디스플레이 장치(200)의 구성을 설명한 바, 본 발명의 쿼리 분석 방법에 대해 구체적으로 살필 것이다.As described above, the configuration of the
그 전제로, 본 발명에 대해 설명하기 위해 사용될 각각의 용어의 의미를 정립하기로 한다. 이하에서 데이터베이스란 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
이와 같이 컴퓨팅 장치(100)가 쿼리 및 해당 쿼리에 대한 분석 요청을 획득하면, 컴퓨팅 장치(100)에 포함된 API 모듈(130)이 이후의 프로세스 전반을 관리하도록 할 수 있다. 이를 설명하기 위해 도 2를 참조하도록 한다.When the
도 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
이와 같이 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
이와 같은 과정에서, 쿼리 분석 모듈(140)이 쿼리를 계층 데이터로 변환하는 방식에 대해 구체적으로 살피기 위해 도 3을 참조하도록 한다. In such a process, the
도 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
먼저, 컴퓨팅 장치(100)가 쿼리 분석 모듈(140)로 하여금, 쿼리에 포함된 검색 단위들을, 이전에 설명한 바와 같은, 복수 개의 검색 단위들이 연동된 형태인 연동 검색 단위 집합 및 각각의 검색 단위들이 단일로 존재하는 단일 검색 단위들로 분류하도록 할 수 있다(S01).First, the
이는, 각각의 연동 검색 단위 집합에 포함된 검색 단위들은 그 내부적으로 계층이 있는 바, 해당 연동 검색 단위 집합 외부의 검색 단위들 또는 다른 연동 검색 단위 집합의 검색 단위들과 함께 계층을 나누면 안 되기 때문이다.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
이 때, 논리 연산자 분석 연산은, 각각의 연산자들에 대응하는 검색 단위들을 검출한 후, 동일한 연산자 별로 이에 대응하는, 검색 단위들 중 일부의 검색 단위들을 배열 형태로 그룹핑하는 연산이다. 예를 들어, 예시 연동 검색 단위 집합 내에서 동일 계층에 다섯 개의 검색 단위들이 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
논리 연산자 분석 연산의 적용 순서는, 실시예의 구현에 따라 달라질 수 있다. 즉, 각각의 연동 검색 단위 집합에 대해 논리 연산자 분석 연산을 적용한 다음 전체 쿼리에 대해 논리 연산자 분석 연산을 적용할 수도 있고, 그 반대일 수도 있는 것이다.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
분리 연산은, 각각의 검색 단위에 포함된 문자열을 파싱함으로써 수행될 수 있다. 예를 들어, 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
식별 연산은, 기준 값의 형태를 파악하여 알 수 있다. 예를 들어, 처음에 들었던 예시인 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
계층 데이터의 경우, 데이터에 포함된 값들의 계층 구조를 잘 표현할 수 있는 데이터 포맷으로 생성되는데, 일 예시로서 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
도 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
이와 같이 컴퓨팅 장치(100)가 UI 표현 모듈(150)로 하여금 디스플레이 장치(200)를 통해 제1 영역 및 제2 영역에 각각 연산자들 및 이에 대응하는 검색 단위들을 디스플레이하도록 함으로써, 사용자가 용이하게 쿼리를 분석하고 작성할 수 있게 된다.In this manner, by allowing the
본 발명 기술분야의 통상의 기술자에게 이해될 수 있는 바로서, 위에서 설명된 이미지, 예컨대 원본 이미지, 원본 레이블 및 추가 레이블과 같은 이미지 데이터의 송수신이 학습 장치 및 테스트 장치의 통신부들에 의하여 이루어질 수 있으며, 특징 맵과 연산을 수행하기 위한 데이터가 학습 장치 및 테스트 장치의 프로세서(및/또는 메모리)에 의하여 보유/유지될 수 있고, 컨벌루션 연산, 디컨벌루션 연산, 로스 값 연산 과정이 주로 학습 장치 및 테스트 장치의 프로세서에 의하여 수행될 수 있으나, 본 발명이 이에 한정되지는 않을 것이다. 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)
(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.
상기 컴퓨팅 장치가, 상기 쿼리 분석 모듈로 하여금, 상기 논리 연산자 연산을 상기 쿼리에 적용하기 이전에, 상기 쿼리에 포함된 상기 검색 단위들을, 복수 개의 검색 단위들이 연동된 형태인 연동 검색 단위 집합 및 각각의 검색 단위들이 단일로 존재하는 형태인 단일 검색 단위들로 분류하도록 하는 것을 특징으로 하는 방법.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.
상기 컴퓨팅 장치가, 상기 쿼리 분석 모듈로 하여금, 각각의 연동 검색 단위 집합에 포함된 검색 단위들에 대해 상기 논리 연산자 분석 연산을 적용하여 각각의 예비 계층 데이터 서브셋들을 생성하고, 각각의 상기 예비 계층 데이터 서브셋들 및 상기 단일 검색 단위들에 상기 논리 연산자 분석 연산을 적용하도록 하되, 동일한 연산자에 대응하는 (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.
상기 연산 조건은 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.
상기 계층 데이터는, 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.
상기 (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.
지시들을 저장하는 하나 이상의 메모리; 및
상기 지시들을 수행하도록 설정된 하나 이상의 프로세서를 포함하되,
상기 프로세서는, (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.
상기 프로세서가, 상기 쿼리 분석 모듈로 하여금, 상기 논리 연산자 연산을 상기 쿼리에 적용하기 이전에, 상기 쿼리에 포함된 상기 검색 단위들을, 복수 개의 검색 단위들이 연동된 형태인 연동 검색 단위 집합 및 각각의 검색 단위들이 단일로 존재하는 형태인 단일 검색 단위들로 분류하도록 하는 것을 특징으로 하는 컴퓨팅 장치.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.
상기 프로세서가, 상기 쿼리 분석 모듈로 하여금, 각각의 연동 검색 단위 집합에 포함된 검색 단위들에 대해 상기 논리 연산자 분석 연산을 적용하여 각각의 예비 계층 데이터 서브셋들을 생성하고, 각각의 상기 예비 계층 데이터 서브셋들 및 상기 단일 검색 단위들에 상기 논리 연산자 분석 연산을 적용하도록 하되, 동일한 연산자에 대응하는 (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.
상기 연산 조건은 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.
상기 계층 데이터는, 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.
상기 (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.
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)
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)
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 |
-
2018
- 2018-11-26 KR KR1020180147894A patent/KR101977107B1/en active IP Right Grant
Patent Citations (2)
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)
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 |