我试图使用我现有的索引(全文)按照Elastic中的短语进行精确搜索。当用户搜索,例如" Sanity Testing"时,结果应该带来所有文档" Sanity Testing" (不区分大小写),但不是"经过Sanity测试"。
我的映射:
{
"doc": {
"properties": {
"file": {
"type": "attachment",
"path": "full",
"fields": {
"file": {
"type": "string",
"term_vector":"with_positions_offsets",
"analyzer":"o3analyzer",
"store": true
},
"title" : {"store" : "yes"},
"date" : {"store" : "yes"},
"keywords" : {"store" : "yes"},
"content_type" : {"store" : "yes"},
"content_length" : {"store" : "yes"},
"language" : {"store" : "yes"}
}
}
}
}
}
据我所知,有一种方法可以用" raw"添加另一个索引。分析器,但由于需要搜索不区分大小写,我不确定这是否可行。而且我也不想重建索引,因为有数百台机器已经索引了大量文档,因此可能需要很长时间。
有没有办法运行这样的查询?我现在正尝试使用以下查询进行搜索:
{
query: {
match_phrase: {
file: "Sanity Testing"
}
}
它给我带来了" Sanity Testing"和#34;经过Sanity测试"。
任何帮助表示赞赏!