查询文件的两个领域是平等的吗?(query for document that two fields

2019-09-01 06:45发布

有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整串是一样的场2在查询时(字段1 ==域2)?

谢谢。

Answer 1:

一个领域文档中相较于其他任一Solr的Lucene的或核心不支持,我的知识。

一个简单的方法来完成,这将是执行在索引时间进行比较,并将结果存储在索引中。 也就是说,如果你有field1field2 ,创建一个字段1_equals_2 ,并与指数它true ,如果他们是平等的添加文件时,根据你的比较。 然后,你可以简单地搜索1_equals_2:true



Answer 2:

你有没有尝试过的函数“strdist”和范围查询“FRANGE”? 像这样的范围查询将有所帮助:

{!翼缘升= 1和= 1} strdist(FIELD1,FIELD2,编辑)



文章来源: query for document that two fields are equal?
标签: solr lucene