如何在`solr'中查找仅包含搜索词的文档`
例如,我有一个如何在`solr'中查找仅包含搜索词的文档`,solr,phrase,Solr,Phrase,例如,我有一个solr集合,其中包含一个名为“key\u phrase”的字段的文档 我知道在搜索查询中很容易找到包含所有搜索词的所有文档。(即在edismax中使用mm=100%) 然而,我要问的是如何返回其“关键字短语”只包含搜索词而不包含其他内容的文档。该“关键字短语”也是一个多值字段 例如: 搜索查询:“儿童足球装备” 查询将返回以下文档,其“关键字短语”字段包含:“儿童足球”。 它还将返回具有两个“关键字短语”值的文档,例如“kids gear”和“任何其他单词”,因为其中一个不包含任
solr
集合,其中包含一个名为“key\u phrase”的字段的文档
我知道在搜索查询中很容易找到包含所有搜索词的所有文档。(即在edismax
中使用mm
=100%)
然而,我要问的是如何返回其“关键字短语”只包含搜索词而不包含其他内容的文档。该“关键字短语”也是一个多值字段
例如:
搜索查询:“儿童足球装备”
查询将返回以下文档,其“关键字短语”字段包含:“儿童足球”。
它还将返回具有两个“关键字短语”值的文档,例如“kids gear”和“任何其他单词”,因为其中一个不包含任何不在搜索查询中的单词
另一方面,它不会返回包含“儿童足球装备男孩””的文档,因为此文档包含搜索查询中不存在的“男孩”。您可以尝试使用
ShingleFilterFactory对字段进行索引
e、 g
你可以在这里查阅
如果您将输入作为
在:“未来,还是什么?”
要筛选的标记器:“to”(1)、“be”(2)、“or”(3)、“what”(4)
答案:“To”(1),“be”(1),“be”(2),“be or”(2),“or”(3),“or what”(3),“what”(4)
你的问题到底是什么???知道你迄今为止尝试了什么会很有帮助。看起来像是在一个正确配置的字段类型上进行搜索,您可能正在寻找它?
<filter class="solr.ShingleFilterFactory" maxShingleSize="3" outputUnigrams="true"/>
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.ShingleFilterFactory"/>
</analyzer>