Solr同义词似乎不起作用

时间:2017-08-16 10:23:16

标签: solr lucene solr6

我正在从一台服务器转移到另一台服务器,我已经安装了Solr 6.6.0 的新副本。除了同义词之外,我已经完成了所有工作。这是我在synonyms.txt文件中的示例:

  卡通,漫画,漫画,搞笑,绘画,素描,绘画,素描,绘画

我重新启动了solr,然后测试了:

((keywords:"cartoon") OR (description:"cartoon"))

然而,它没有给出任何结果。如果我搜索:

((keywords:"cartoons") OR (description:"cartoons"))

...然后我得到了结果。我是否需要做其他事情来启用同义词?

以下是架构内容:https://pastebin.com/eV3emAjv

以下是我的 synonyms.txt 文件:https://pastebin.com/TjYxEfbi

有趣的是,它的规模似乎要小得多。如果我把它放在文件中:

cartoon, comic, cartoons, funny, drawing, sketch, draw, drawings, draw

...重启Solr,瞧它有效(31,000个结果)。但是,只要我把剩下的内容放回去,我就什么也得不到。我的synonyms.txt文件中必定有一些东西导致它无法正确解析它(或类似的东西)。有没有办法调试该文件?我有超过1000个规则,需要逐个检查 - 不是我一直坚持的想法!

更新:我已将其追踪到一行。如果我对此进行评论,它可以正常工作(需要大量删除,重新加载,测试等):

clipart, clip-art, image, art, graphics, clip, images, picture, pictures, vemultimedia, cartoon, royalty+free, royalty-free

为什么它不喜欢那个想法?

更新2:我发现了问题 - 但现在我不太清楚解决方案是什么。基本上,我们有两行中有“卡通”一词:

cartoon, comic, cartoons, funny, drawing, sketch, draw, drawings, draw

clipart, clip-art, image, art, graphics, clip, images, picture, pictures, vemultimedia, royalty+free, royalty-free, cartoon

经过一些调试 - 我发现它似乎不喜欢+或 - 在单词中:

royalty+free
royalty-free

当然这一定是可能的吗?我们可以在单词之间使用破折号和空格吗? :/

1 个答案:

答案 0 :(得分:0)

旧服务器和新服务器是否具有相同的solr版本。 如果没有,那么您可能必须根据旧版本的solr重新索引数据。