gpt4 book ai didi

solr - 查询两个字段相等的文档?

转载 作者:行者123 更新时间:2023-12-02 07:44:24 25 4
gpt4 key购买 nike

solr中有两个文本字段,它们都是空格标记化的并且具有小写过滤器。以下是架构:

<fieldType name="text_ac" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>

<field name="field1" type="text_ac" indexed="true" stored="true" required="false" omitNorms="true" default=""/>

<field name="field2" type="text_ac" indexed="true" stored="true" required="false" omitNorms="true" default=""/>

如何查询solr返回查询时field1与field2全串相同的结果(field1==field2)?

谢谢。

最佳答案

如何正确查询 Solr 两个字段是否相等,请参见 Nicholas DiPiazza's answer

鉴于问题指定比较两个文本(即分析)字段的完整内容,我相信这不适用于函数查询等,因此有两种方法:

  • 重新考虑您要尝试执行的操作,或更改索引结构。这些应该是字符串而不是文本吗?如果是这样,请执行此操作,然后如上所述引用 Nicholas DiPiazza's answer .

  • (此处为原始答案)实现此目的的一个简单方法是在索引时执行比较,并将结果存储在索引中。也就是说,如果您有 field1field2,则创建一个字段 1_equals_2,并使用 true 对其进行索引,如果根据您添加文档时的比较,它们是相等的。然后您只需搜索 1_equals_2:true 即可。

关于solr - 查询两个字段相等的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16258605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com