【发布时间】:2012-07-18 14:52:26
【问题描述】:
我正在开发一组同义词,你可以在其中找到一些多词表达,例如:
黑莓 => 黑莓
在分析阶段,使用 /admin/analysis.jsp 工具,我可以看到结果是正确的。
诸如“quiero una black berry”之类的查询返回以下序列:
org.apache.solr.analysis.StandardTokenizerFactory {luceneMatchVersion=LUCENE_36}:
position 1 2 3 4
term text quiero una black berry
startOffset 0 7 11 17
endOffset 6 10 16 22
type <ALPHANUM> <ALPHANUM> <ALPHANUM> <ALPHANUM>
org.apache.solr.analysis.SynonymFilterFactory {synonyms=lang/synonyms_es.txt, expand=false, ignoreCase=true, luceneMatchVersion=LUCENE_36}:
position 1 2 3
term text quiero una blackberry
type <ALPHANUM> <ALPHANUM> SYNONYM
startOffset 0 7 11
endOffset 6 10 22
但是,如果我在“真实”查询中尝试这句话,请求处理程序(edismax 处理程序的演变)、标记“black”和“berry”并没有被“blackberry”替换。
我看到here你可以通过修改FieldQParser插件来解决这种情况。
无论如何,由于这样的帖子是在将近 3 年前发布的,我想知道 Solr 内部是否有解决这个问题的方法,避免扩展一些插件。
谢谢。
【问题讨论】: