问题描述
[
{ "id": 1,"title": "next notebook" },{ "id": 2,"title": "next thing" }
]
title
字段类型为
<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
相同
解决方法
此查询正在默认搜索字段(df)中搜索标题,下一个,并且%20是空格字符。
q = title%20next%20thing
尝试类似q = next%20thing&df = title
,您的查询在默认字段上被视为OR
。
q:next thing
如注释中所述,您必须指定字段。否则,您可以提供默认字段的列表,在这些字段中应查找您的搜索词。
q=title:next thing
两种方法都是正确的。如果您有要搜索的特定字段,则应提及它。否则,要搜索默认字段,您可以将名称保留为可选。