2012-03-16 97 views
0

我正在尋找像索爾一樣的搜索和替換功能。在Solr中搜索並替換?

我已經將文檔轉儲到solr中,並對其進行了一些文本分析。有時候我可能需要將幾個詞組合在一起,並希望solr把它當作一個單一的標記。

例如:「南非」將被視爲一個單一的令牌進行進一步處理。同時也注意到這些可以是動態的,並且即將讓最終用戶決定他/她必須分組哪些詞。所以NO語義是必需的。

我現在的計劃是在這兩個單詞之間添加一個特殊字符,所以Solr會將它視爲一個單一標記(StandardTokenizerFactory)以供進一步處理。

所以即時尋找類似:

replace("South Africa",South_Africa") 

任何人都可以有什麼解決辦法?

+0

我猜你需要共發現和其他的自然語言技術(詞性)「理解」令牌。我對可以理解單詞的過濾器感興趣(例如,在「IT經理」和「正在下雨」中區分「它」) – aitchnyu 2012-03-16 12:47:23

回答

0

使用同義詞過濾器並在synonyms義文本中定義這些替換。一旦你有所有的定義,重建索引。

您可能會有這樣一個條目來處理字段在同義詞之前有一個LowerCase過濾器的情況,以及同義詞出現在LowerCase之前的情況。

南非,南非=> southafrica

更多的信息在這裏http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory

+0

很酷..所以即時通訊計劃創建synonnyms.txt每當用戶分組兩個單詞並嘗試重建索引。謝謝你的提示。 – prasann 2012-03-17 07:19:38

0

你也許可以使用PatternReplaceFilter和一個聰明的正則表達式。

+0

這些過濾器只具有配置級別設置。但是我的文檔會改變。 – prasann 2012-03-16 09:48:57