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

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.
主站蜘蛛池模板: 保定市| 朝阳市| 宜兰市| 成武县| 潮安县| 都昌县| 汉源县| 偏关县| 淮北市| 科尔| 张家界市| 梁山县| 民勤县| 驻马店市| 若羌县| 霍山县| 油尖旺区| 青田县| 山东| 平远县| 绿春县| 隆化县| 新乐市| 蒙城县| 宁津县| 兰坪| 芦溪县| 枣庄市| 卢氏县| 寻甸| 甘孜| 南部县| 宜春市| 呼玛县| 西和县| 兴安县| 平南县| 尚志市| 龙游县| 东莞市| 新建县|