bool 11

v2.0-06. Query DSL changes

Queries and filters mergededitQueries and filters have been merged — all filter clauses are now query clauses. Instead, query clauses can now be used in query context or in filter context:query와 filter는 통합되었다. 모든 filter절은 이제 query절이다. 대신, 이제 query절은 query context 나 filter context 에서 사용된다.Query contextA query used in query context will calculate relevance scores and will not be cacheable. Query c..

1-07-5. Combining queries together

Real world search requests are never simple; they search multiple fields with various input text, and filter based on an array of criteria. To build sophisticated search, you will need a way to combine multiple queries together into a single search request.현실에서 검색 request는 결코 간단하지 않다. 다양한 입력 문자열과 여러 조건의 배열을 기반으로 한 filter를 가지고 다수의 field를 검색한다. 정교한 검색을 위해, 하나의 검색 request에 다수의 query를 함께 조합해야 한다.To ..

2-1-2. Combining Filters

The previous two examples showed a single filter in use. In practice, you will probably need to filter on multiple values or fields. For example, how would you express this SQL in Elasticsearch?앞의 두 가지 예제는 단일 filter의 사용을 보여준다. 실제 상황에서는, 아마도 여러 값 또는 field를 filtering해야 할 것이다. 예를 들면, 아래의 SQL을 Elasticsearch에서는 어떻게 표현할까?SELECT product FROM products WHERE (price = 20 OR productID = "XHDK-A-1293-#fJ3")..

2-2-1. Term-Based Versus Full-Text

While all queries perform some sort of relevance calculation, not all queries have an analysis phase.Besides specialized queries like the bool or function_score queries, which don’t operate on text at all, textual queries can be broken down into two families:모든 query가 relevance 연산의 일종을 수행하지만, 모든 query가 analysis 절을 가지지는 않는다. 텍스트를 전혀 다루지 않는, bool 이나 function-score query 같은 특별한 query 이외에, 텍스트를 다루는 ..

2-2-4. Combining Queries

In Combining Filters we discussed how to use the bool filter to combine multiple filter clauses with and, or, and not logic. In query land, the bool query does a similar job but with one important difference.Combining Filters에서, 다수의 filter 절을 and, or, not 으로 조합하기 위해, bool filter를 사용하는 방법에 대해 이야기한 바 있다. query에서도, bool query는 비슷한 작용을 하지만, 한가지 중요한 차이점이 있다.Filters make a binary decision: should this..

2-3-5. How match Uses bool

By now, you have probably realized that multiword match queries simply wrap the generated termqueries in a bool query. With the default or operator, each term query is added as a should clause, so at least one clause must match. These two queries are equivalent:이제, 다중 단어 match query는, 생성된 term query를 단순히 bool query로 감싼 것이라는 것을 알게 되었을 것이다. 각 term query가, 기본인 or operator와 함께, should 절에 추가된다. 따라서, ..

2-3-6. Boosting Query Clauses

Of course, the bool query isn’t restricted to combining simple one-word match queries. It can combine any other query, including other bool queries. It is commonly used to fine-tune the relevance _score for each document by combining the scores from several distinct queries.물론, bool query는, 간단한 단일 단어(one-word) match query를 조합하는데 있어, 제한이 없다. 다른 bool query는 물론이고, 다른 어떤 query와도 조합할 수 있다. 여러 별개의 que..

2-3-01. Multiple Query Strings

The simplest multifield query to deal with is the one where we can map search terms to specific fields. If we know that War and Peace is the title, and Leo Tolstoy is the author, it is easy to write each of these conditions as a match clause and to combine them with a bool query:가장 간단한 다중 field query는, 특정 field에 검색 조건을 mapping 하는 것이다. War and Peace 가 title이고, Leo Tolstoy가 author 라는 것을 안다면, match..

2-3-02. Single Query String

The bool query is the mainstay of multiclause queries. It works well for many cases, especially when you are able to map different query strings to individual fields.bool query는 다중 절(multi-clause) query의 핵심이다. 그것은 대부분의 경우 잘 동작한다. 특히 개별 field에 다른 query string을 mapping한 경우에 잘 동작한다.The problem is that, these days, users expect to be able to type all of their search terms into a single field, and ex..

2-3-03. Best Fields

Imagine that we have a website that allows users to search blog posts, such as these two documents:사용자들이 블로그 포스트를 검색할 수 있는 website를 가지고 있다고 가정해 보자. 다음과 같이 2개의 document가 있다.PUT /my_index/my_type/1 { "title": "Quick brown rabbits", "body": "Brown rabbits are commonly seen." } PUT /my_index/my_type/2 { "title": "Keeping pets healthy", "body": "My quick brown fox eats rabbits on a regular basis." }C..