Lucene / SOLR术语到数字范围邻近搜索

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lucene / SOLR术语到数字范围邻近搜索相关的知识,希望对你有一定的参考价值。

我正在使用SOLR 4.9.0以及以下配置(我只包括我认为与问题相关的部分):

    <field name="content"   type="text" indexed="true" stored="false"
 termVectors="true" multiValued="false" />

     <fieldType name="text" class="solr.TextField">
         <analyzer type="index">
             <tokenizer class="solr.StandardTokenizerFactory" />
             <filter class="solr.LowerCaseFilterFactory" />
         </analyzer>
         <analyzer type="query">
             <tokenizer class="solr.StandardTokenizerFactory" />
             <filter class="solr.LowerCaseFilterFactory" />
         </analyzer>
     </fieldType>

我可以近距离搜索一个接近另一个术语的术语:

content:"very suggestion"~100

我需要添加能够搜索接近数字标记的术语的功能,例如:

content:"very [0.01 TO 0.99]"~100
content:"very [100 TO 1000000]"~100

是否有已经提供此功能的标记器?

如果不是,为了使标准标记器能够做到这一点,大致会有哪些步骤?

关于对索引结构,大小和索引/搜索速度的影响是什么的任何推测?

编辑:

我认为以下SOLR配置实际上也与我的问题相关:

 <requestHandler name="/select" class="solr.SearchHandler">
     <lst name="defaults">
         <str name="echoParams">explicit</str>
         <int name="rows">10</int>
         <str name="df">id</str>
         <str name="wt">json</str>
         <str name="indent">true</str>
         <str name="fl">* score</str>
     </lst>
 </requestHandler>
答案

两年多以后,我找到了问题的答案:)

通过使用

https://lucene.apache.org/solr/guide/6_6/other-parsers.html#OtherParsers-ComplexPhraseQueryParser

一个人可以做到:

{!complexphrase inOrder = false}内容:“费[100 10000]”~10

以上是关于Lucene / SOLR术语到数字范围邻近搜索的主要内容,如果未能解决你的问题,请参考以下文章

吊炸天企业级搜索引擎-Solr

搜索系统13:一个查询从solr到lucene都干了些什么事?

在SOLR中搜索邻近另一个标记的短语

Apache Solr - Lucene - 邮政编码半径搜索

我可以将搜索引擎(solr搜索或lucene搜索)集成到Maximo中吗?

如何标准化 solr/lucene 分数?