官术网_书友最值得收藏!

Using phrase query to search

We added some documents to the index that we created. Now, let's examine some ways to query our data. Elasticsearch provides many types of queries to query our indexed documents. Of all the ones available, the simple query string query is a great place to start. The main advantage of this query is that it will never throw an exception. Also, a simple query string query discards the invalid parts of the query.

It mostly covers what is expected from most of the search engines. It takes OR of all the terms present in the query text, though we can change this behavior to AND. Also, it recognizes all Boolean keywords in the query text and performs the search accordingly. For details, you can look through http://lucene.apache.org/core/2_9_4/queryparsersyntax.html.

To query an Elasticsearch index, we must create a JSON query. A simple JSON query is shown here:

{
"query": {
    "simple_query_string": {
      "query": "sms",
      "fields": [
        "_all"
      ]
    }
  }

The screenshot of how a query is passed and the response is received in the head UI is shown as follows:

The explanation of the field's result is as follows:

  • took: This is the time taken by Elasticsearch in milliseconds to perform the search on the index.
  • hits: This array contains the records of the first 10 documents that matched.
  • _id: This is a unique ID that refers to that document.
  • _score: This is a number that determines how closely the search parameter you provided matched this particular result.
  • _source: When we give Elasticsearch a feed to document, it stores the original feed separately. On a document match, we receive this stored document as the _source field.
主站蜘蛛池模板: 特克斯县| 元氏县| 夹江县| 雷州市| 新巴尔虎左旗| 日喀则市| 温泉县| 大新县| 龙江县| 资溪县| 威远县| 阿瓦提县| 汤原县| 茌平县| 阳西县| 高平市| 公安县| 文化| 抚松县| 临武县| 昭苏县| 平利县| 永丰县| 万源市| 新巴尔虎左旗| 武鸣县| 长顺县| 天津市| 尚志市| 平原县| 远安县| 廉江市| 正宁县| 九龙坡区| 景东| 房山区| 中卫市| 元朗区| 鹤峰县| 星子县| 双鸭山市|