【发布时间】:2015-02-03 15:58:57
【问题描述】:
我没有琐碎的任务,想了解 Sphinx 或 Solr 是否是解决它的正确工具。简化示例:我的网站上有搜索字段,用于按产品描述进行搜索。以及 mysql db 中的下一个描述:
Id Desc
1 this is my test document number one. also checking search within phrases.
2 this is my test document number two
3 this is another group
4 this is first group
5 this is first test
6 this is your test
当用户在搜索字段中输入一些文本时。 “是”他应该得到下一个结果(包含“是”的前三个短语): “这是”、“是我的”、“是第一个”。
有人知道如何做到这一点吗?也许你现在有更好的搜索引擎可以满足我的需求?
<fieldType class="solr.TextField" name="text_auto">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ShingleFilterFactory" maxShingleSize="4" outputUnigrams="true" outputUnigramsIfNoShingles="false" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
<field name="title" type="text_auto" indexed="true" stored="true"/>
<field name="content_autosuggest" type="text_auto" indexed="true" stored="true" multiValued="false"/>
<copyField source="title" dest="content_autosuggest"/>
【问题讨论】:
标签: solr elasticsearch search-engine sphinx