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

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.
主站蜘蛛池模板: 深泽县| 怀柔区| 叶城县| 盐亭县| 寿宁县| 安仁县| 万盛区| 娄底市| 启东市| 合水县| 连云港市| 芦山县| 贵溪市| 阿巴嘎旗| 昭苏县| 上思县| 昔阳县| 梁平县| 庄河市| 越西县| 突泉县| 高台县| 磐安县| 翁牛特旗| 枣庄市| 紫金县| 江川县| 凌海市| 浮梁县| 壤塘县| 米林县| 西乌| 本溪市| 龙井市| 云浮市| 扎囊县| 新建县| 成都市| 虞城县| 大丰市| 廊坊市|