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

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.
主站蜘蛛池模板: 迁西县| 朔州市| 高密市| 兴文县| 屯昌县| 临汾市| 邹城市| 太仆寺旗| 山丹县| 宁海县| 民丰县| 五寨县| 株洲市| 托里县| 嵊泗县| 广德县| 洛阳市| 汶川县| 西城区| 梁山县| 应城市| 临海市| 蓝山县| 皮山县| 伊吾县| 博湖县| 汶川县| 平舆县| 乐昌市| 深圳市| 旌德县| 云林县| 兴城市| 永和县| 平谷区| 新平| 介休市| 丽江市| 洪湖市| 鹤山市| 龙南县|