我正在从一台服务器移动到另一台,并且我安装了Solr的新副本6.6.0。除了同义词,我拥有所有的工作。这是我在我的synonyms.txt文件示例:Solr同义词似乎没有工作
卡通,漫画,卡通,搞笑,绘画,素描,画,素描,画
我已经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结果)。但是,只要我把剩下的内容放回去,我什么也得不到。我的同义词.txt文件中必须有一些东西导致它不能正确解析它(或类似的东西)。有没有办法调试该文件?我有超过1000条规则需要一个一个检查,否则我不能保持这个想法!
更新:我已经追踪到一行。如果我评论了这一点,它工作正常(拍了很多取出,重新加载,测试,等等等等的):
clipart, clip-art, image, art, graphics, clip, images, picture, pictures, vemultimedia, cartoon, royalty+free, royalty-free
任何想法,为什么它会不喜欢那一个?
UPDATE 2:我发现问题 - 但现在我不太清楚解决方案是什么。基本上,我们有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
这肯定是可以的吗?我们可以在单词之间使用破折号和空格吗? :/
是的,请向我们展示您的schema.xml – Oyeme
@Oyeme谢谢 - 我已经使用pastebin更新了我的帖子(https://pastebin.com/eV3emAjv) –
您在帖子中提到的两种语法看起来都一样。但是你告诉过,当别人没有时,你会得到结果。 – Jeyaprakash