Sri*_*ake 4 search solr soundex
问题:我在solr中有一个电影信息.两个字符串字段定义电影标题和导演名称.复制字段定义solr搜索默认值的另一个字段.
我希望谷歌像搜索范围有限,如下所示.如何实现它.
1)如何搜索solr for contains
例如a)如果电影导演的名字是"John Cream",搜索joh将不会返回任何内容.但是,搜索John会返回正确的结果.
b)如果有一个名为aaabbb的电影名称和另一个名为aaa的电影标题,则搜索aaa只返回一个结果.我需要返回两个结果.
2)如何解释拼写错误
例如,如果电影导演名称为"John Cream",则搜索Jon不会返回任何结果.是否有类似(soundex)实现solr的好声音.如果是这样如何启用它?
您可以使用solr查询语法
使用通配符显然可以搜索包含(例如:title:*aaa*将匹配'aaabbb'和'cccaaabbb'),但要小心它,因为它不会有效地使用索引.你真的需要这个吗?
像搜索这样的soundex可以将solr.PhoneticFilterFactory过滤器应用于索引和查询.要实现这一点,请在模式中定义这样的fieldType:
<fieldType name="text_soundex" class="solr.TextField">
...
<filter class="solr.PhoneticFilterFactory" encoder="Soundex" inject="true"/>
</fieldType>
如果您将"director"字段定义为"text_soundex",您将能够搜索"Jon"并找到"John"
有关更多信息,请参阅http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters.
| 归档时间: | 
 | 
| 查看次数: | 17425 次 | 
| 最近记录: |