Solr与空间的同义词

时间:2012-01-17 04:44:29

标签: solr lucene sunspot

我的数据模型:

Dress
|-kind
|-color
|-for_season

我想搜索特定季节以及所有季节的模型,如下所示:

搜索查询:all seasons

应匹配:Winter, Spring, Summer, Fall

我的同义词文件中有以下行:

all\s seasons: winter, spring, summer, fall

我正在查询时间,我看到solr管理面板分析页面显示术语列中的同义词。但是,当我搜索for_season:all seasons时,我没有得到任何结果。

知道为什么吗?感谢你的时间。

修改

这是我发现的:

  1. 我不得不逃避右侧出现的同义词,如下所示:

    all news => weather\ forecast, sports, ...
    
  2. 在查询时,我不得不用双引号括起查询。如下:

    my_field:"all news"
    
  3. 我不得不将原始单词放在RHS上,因为除非重复,否则不会发现它。

    news => news, weather\ forecast, sports, ...
    
  4. 现在看起来工作正常。谢谢你的时间。

2 个答案:

答案 0 :(得分:2)

空间不是同义词配置文件中的分隔符。你不应该逃避它。

此处的文档: http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory

这应该只是

all seasons => winter, spring, summer, fall

答案 1 :(得分:0)

一般来说,Apache Solr中存在多项同义词(例如“所有季节”)的问题。您可以在此处找到此问题的描述:

在这里你可以找到这个问题的一个很好的解决方案:

https://lucidworks.com/blog/2014/07/12/solution-for-multi-term-synonyms-in-lucenesolr-using-the-auto-phrasing-tokenfilter/