我想执行完全单词匹配和部分单词/子字符串匹配。例如,如果我搜索“测试产品”,那么我应该能够在结果中找到“测试”和“产品”相关的文本。我正在使用以下匹配查询搜索弹性搜索,这并没有给我完全匹配,而是它也给出了一些更不重要的匹配。例如,它在结果中给出了“样本”相关的文本。
我正在使用弹性搜索 6.3
请在下面找到我的查询
GET /_search { "must":{ "query_string":{ "query":"title: test product " } } }
搜索结果:“hits”:[ {“_index”:“67107104”,“_type”:“_doc”,“_id”:“1”,“_score”:0.6931471,“_source”:{“title”:“testing " } }, { "_index": "67107104", "_type": "_doc", "_id": "2", "_score": 0.6931471, "_source": { "title": "product good" } } ,{“_index”:“67107104”,“_type”:“_doc”,“_id”:“3”,“_score”:0.6931471,“_source”:{“title”:“sample”}}]
预期的搜索结果:
“命中”:[{“_index”:“67107104”,“_type”:“_doc”,“_id”:“1”,“_score”:0.6931471,“_source”:{“title”:“testing”}} ,{“_index”:“67107104”,“_type”:“_doc”,“_id”:“2”,“_score”:0.6931471,“_source”:{“title”:“产品好”}}]