有人可以举例说明在ElasticSearch中关键字和文本之间的区别吗?
关键字 类型:如果您将一个字段定义为像这样的关键字类型。
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" } } } } }
和搜索:
将返回匹配的文档。
您可以检查此以了解更多详细信息关键字Vs。文本