SOLR 邻近搜索设置

用户2260040

我有一些地址数据需要搜索。我在邻近搜索方面有点挣扎。

一个例如。我要搜索的地址是:

卡托街西朗塞斯顿 TAS

当我尝试搜索 (CATO WEST)~2 时,我对邻近搜索的搜索查询没有返回任何内容

数据字段(schema.xml)的配置如下:

<field name="street_name_space" type="text_general" indexed="true" stored="true"/>

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

请求处理程序如下:

<requestHandler name="/proximity" class="solr.SearchHandler">
     <lst name="defaults">
     <str name="defType">edismax</str>
        <str name="echoParams">explicit</str>
        <str name="qf">street_name_space</str>
        <str name="qs">10</str>
        <str name="pf">street_name_space</str>
        <str name="ps">10</str>
       <str name="echoParams">explicit</str>
       <str name="fl">street_name, street_name_clean, street_name_space</str>          
     </lst>
    </requestHandler>

知道我该怎么做才能得到结果吗?

柿子

您正在使用的 KeywordTokenizerFactory 将整个事物作为一个术语,因此唯一索引的术语是“cato street west launceston tas”。当然,这与您的查询不符。

使用其他一些标记器,比如WhitespaceTokenizerFactory,它应该可以工作

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章