2010-03-18 18 views
0

我们正在将我们的产品搜索从mysql更换为SOLR后端。我们的客户经常搜索像'startrek online','starwars','redsteel'甚至'grandtheftauto'这样的词汇。在SOLR中是否有一种方法可以将这些搜索扩展或拼写为音节,例如“星际迷航”,“星球大战”,“红色钢铁”,“侠盗猎车手”等?如何在SOLR中处理搜索词连接

+0

您可以通过在conf目录 – Karussell 2010-03-18 11:18:35

回答

2

您可以使用同义词文件。看看到this documenation site(solr.SynonymFilterFactory):

<fieldtype name="syn" class="solr.TextField"> 
    <analyzer> 
     <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
     <filter class="solr.SynonymFilterFactory" synonyms="syn.txt" ignoreCase="true" expand="false"/> 
    </analyzer> 
</fieldtype> 

对于SEARCHQUERY分裂WordDelimiterFilterFactory可以部分满足您的需求,但也许synomymfilter更容易,更好的(+可能更快)。

+0

我希望的不是同义词文件更genric解决方案spellcheck.txt文件进行拼写检查。但我会试一试LetterDelimitedFilterFactory。 – 2010-03-19 10:30:22

+0

你可以尝试在邮件列表中提问。也许有这种情况下的黑客或补丁。 – Karussell 2010-03-19 17:49:24