首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solr中多词查询的文档检索

Solr中多词查询的文档检索
EN

Stack Overflow用户
提问于 2020-08-14 01:02:00
回答 2查看 46关注 0票数 1

我有文件

代码语言:javascript
复制
[
  { "id": 1, "title": "next notebook" },
  { "id": 2, "title": "next thing" }
]

title字段类型为

代码语言:javascript
复制
<fieldType name="managed_en" positionIncrementGap="100" class="solr.TextField">
  <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.ManagedStopFilterFactory" managed="english" />
    <filter class="solr.ManagedSynonymGraphFilterFactory" managed="english" />
    <filter class="solr.FlattenGraphFilterFactory"/> <!-- required on index analyzers after graph filters -->
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.ManagedStopFilterFactory" managed="english" />
    <filter class="solr.ManagedSynonymGraphFilterFactory" managed="english" />
  </analyzer>
</fieldType>

我正在尝试搜索next thing,所以请求是/select?q=title%20next%20thing

我预计包含id: 2的文档将位于顶部,但顺序与添加时相同,并且分数是相同的0.3979403

如果在标题中查询的单词比文档在顶部的单词多,那么查询应该如何实现这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-14 02:04:14

此查询正在默认搜索字段(df)中搜索标题、下一个,并且%20是空格字符。

q=title%20next%20thing

试试像q=next%20thing&df=title这样的东西

票数 1
EN

Stack Overflow用户

发布于 2020-08-14 02:08:19

您的查询在默认字段上被视为OR

代码语言:javascript
复制
q:next thing

正如您在注释中提到的,您必须指定该字段。否则,您可以提供默认字段列表,其中应查找您的搜索词。

代码语言:javascript
复制
q=title:next thing

这两种方式都是正确的。如果你有一个特定的字段要搜索,你应该提出来。否则,要搜索默认字段,您可以将名称保留为可选。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63399946

复制
相关文章

相似问题

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