2017-08-16 138 views
0

我正在從一臺服務器移動到另一臺,並且我安裝了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 

這肯定是可以的嗎?我們可以在單詞之間使用破折號和空格嗎? :/

+0

是的,請向我們展示您的schema.xml – Oyeme

+0

@Oyeme謝謝 - 我已經使用pastebin更新了我的帖子(https://pastebin.com/eV3emAjv) –

+0

您在帖子中提到的兩種語法看起來都一樣。但是你告訴過,當別人沒有時,你會得到結果。 – Jeyaprakash

回答

0

舊服務器和新服務器是否具有相同的solr版本。 如果沒有,那麼你可能需要重新索引基於solr舊版本的數據。

+0

謝謝。這些版本是完全不同的(另外一個版本是在3 - 4年前建立的,新版本是最新版本,使用起來更好!)。但是,所有數據都是新鮮導入的。你是否需要重新編制索引以使其能夠接受更改?如果是這樣,這不是一個問題 - 但我只是假定即使在索引數據之後它也會選擇這個問題? –

+0

如果它是在新solr重新索引,那麼它應該工作。你可以驗證配置是否正確,並且你的集合正在使用具有同義詞的配置。 – jsp

+0

多數民衆贊成我的問題,我不知道如何驗證它:)有沒有一種工具來驗證您的configs/xml/synonyms .txt文件? –