'multi_match' => [
'query' => $keyword,
'fields' => $indexfields,
"operator" => "and",
],
$indexfields =['name','address','part'];
name,address进行了ik分词,
part没有进行分词
现在有一条记录 name:小明 address:北京市小区
我搜 小明小区 的时候匹配不到文档,
请问,怎样写query可以匹配到文档
'query' => $keyword,
'fields' => $indexfields,
"operator" => "and",
],
$indexfields =['name','address','part'];
name,address进行了ik分词,
part没有进行分词
现在有一条记录 name:小明 address:北京市小区
我搜 小明小区 的时候匹配不到文档,
请问,怎样写query可以匹配到文档
3 个回复
helloes
赞同来自:
"analyzer": "ik_max_word",
"search_analyzer": "ik_smart"
qq123 - 90后IT精英
赞同来自:
,"company.un"
,"company.cn"
)
Scs
赞同来自:
It is not useful to mix not_analyzed fields with analyzed fields in multi_match queries.
不能同时对 analyzed 和 not_analyzed 的 field 进行 multi_match 查询(跨字段查询,或者也可以理解为多字段查询)
建议把 not_analyzed 的 field 改成 analyzed 类型,然后 analyzer 设置成 Keyword Analyzer,你可以试一下,看看这样子能不能满足你的需求