首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提高Solr搜索质量

提高Solr搜索质量
EN

Stack Overflow用户
提问于 2014-07-01 15:08:21
回答 1查看 59关注 0票数 0

我有两个文档,比如:

代码语言:javascript
复制
<doc>
    <field name="title">I love world cup</field>
</doc>
<doc>
    <field name="title">I love basketball</field>
</doc>

当我输入查询关键字“我爱世界杯”时,我只希望得到第一个文档,但得到两个结果。

代码语言:javascript
复制
"docs": [
      {
        "id": "p11112",
        "title": "I love world cup",
        "_version_": 1472408699840495600
      },
      {
        "id": "p11111",
        "title": "I love basketball",
        "_version_": 1472408682961567700
      }
     ]

如何找到只收录像“世界杯”这样的文件?

EN

回答 1

Stack Overflow用户

发布于 2014-07-01 15:39:33

这是一个术语查询:

代码语言:javascript
复制
?q=title:i love world cup

它将匹配这两个文档,因为Solr是这样解释查询的:

代码语言:javascript
复制
?q=title:i OR love OR world OR cup

相反,您可以使用AND仅匹配包含查询中所有术语的文档:

代码语言:javascript
复制
?q=title:i AND love AND world AND cup

如果您总是希望在术语之间使用AND,并且不想手动输入它们,则可以使用q.op参数将AND设置为查询的默认值:

代码语言:javascript
复制
?q=title:i love world cup&q.op=AND

另一种方法是使用短语查询,该查询仅在文档中存在整个短语(由双引号分隔)时才匹配:

代码语言:javascript
复制
?q=title:"i love world cup"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24504351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档