Разница между ключевым словом и текстом в ElasticSearch - PullRequest
0 голосов
/ 17 октября 2018

Может ли кто-нибудь объяснить разницу между ключевым словом и текстом в ElasticSearch на примере?

1 Ответ

0 голосов
/ 17 октября 2018

ключевое слово тип: если вы определяете поле с типом ключевого слова, подобного этому.

 PUT products
{
  "mappings": {
    "_doc": {
      "properties": {
        "name": {
          "type": "keyword"
        }
      }
    }
  }
}

Затем, когда вы делаете поисковый запрос по этому полю, вы должны вставить целоезначение (поиск по ключевым словам), поэтому поле для ключевого слова.

 POST products/_doc
{
  "name": "washing machine"
}

при выполнении поиска, подобного следующему:

 GET products/_search
{
  "query": {
    "match": {
      "name": "washing"
    }
  }
}

, оно не будет соответствовать никаким документам.Вы должны искать по всему слову «стиральная машина».

текст тип с другой стороны, анализируется, и вы можете искать, используя токены из значения поля. полнотекстовый поиск по всему значению :

    PUT products
{
  "mappings": {
    "_doc": {
      "properties": {
        "name": {
          "type": "text"
        }
      }
    }
  }
}

и поиск:

 GET products/_search
{
  "query": {
    "match": {
      "name": "washing"
    }
  }
}

вернет соответствующие документы.

Youможете проверить это более подробно ключевое слово Vs.текст

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...