我有两个文件:
<doc>
<field name="title">I love world cup</field>
</doc>
<doc>
<field name="title">I love basketball</field>
</doc>
当我输入查询关键字“我爱世界杯”时,我只期望第一个文档,但得到两个结果。
"docs": [
{
"id": "p11112",
"title": "I love world cup",
"_version_": 1472408699840495600
},
{
"id": "p11111",
"title": "I love basketball",
"_version_": 1472408682961567700
}
]
如何查找仅包含“世界杯”文件?
答案 0 :(得分:0)
这是一个术语查询:
?q=title:i love world cup
它将匹配两个文档,因为Solr解释了这样的查询:
?q=title:i OR love OR world OR cup
您可以使用AND
仅匹配包含查询中所有字词的文档:
?q=title:i AND love AND world AND cup
如果您总是希望在术语之间使用AND
,并且您不想手动输入这些术语,则可以使用AND
使q.op
成为查询的默认设置参数:
?q=title:i love world cup&q.op=AND
另一种方法是使用短语查询,只有在文档中存在整个短语(由双引号分隔)时才会匹配:
?q=title:"i love world cup"