solr - SOLR 邻近搜索设置
问题描述
我有一些需要搜索的地址数据。我在接近搜索方面有点挣扎。
例如。我要搜索的地址是:
卡托街西朗塞斯顿塔斯
当我尝试搜索 (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,它应该可以工作
推荐阅读
- java - androidGradle 构建失败任务':app:processDebugResources'的执行失败
- javascript - 使用 WebAudio 的时钟来安排 Cordova 的功能
- r - 数据整理帮助:用所有数据拆分一列
- python - Scrapy-Drop 管道中的项目字段?
- maven - Grails 2.2.x - 使用多个自定义存储库的依赖关系解析
- mysql - 根据 SQL 中的列和两个条件选择不同的行
- excel - Excel VBA:#VALUE!某些选定范围的错误
- node.js - Chai POST 请求测试不发送电子邮件
- python - Python - 从任何字符串 bsp.("aa;l sd20.10.1980adgf") 获取日期 dd.mm.yyyy
- php - 无法从服务器上传到 PHP 中的 FTP 服务器,但可以在另一台服务器上工作