在Solr中搜索和替换?

时间:2012-03-16 05:53:01

标签: replace solr lucene

我正在寻找像Solr中的搜索和替换功能。

我已将文档转储到solr中,并对其进行了一些文本分析。有时我可能需要将几个单词组合在一起,并希望solr将其视为一个单一的标记。

例如:“南非”将被视为进一步处理的单一标记。并且还注意到这些可以是动态的,并且我将让最终用户决定他/她必须分组哪些单词。所以没有语义要求。

我目前的计划是在这两个单词之间添加一个特殊字符,以便Solr将其视为一个单一标记(StandardTokenizerFactory)以供进一步处理。

所以我正在寻找类似的东西:

replace("South Africa",South_Africa")

任何人都可以有任何解决方案吗?

2 个答案:

答案 0 :(得分:0)

你也许可以使用PatternReplaceFilter和聪明的正则表达式。

答案 1 :(得分:0)

使用同义词过滤器并在synonyms.txt文件中定义这些替换。获得所有定义后,重建索引。

你可能会有一个像这样的条目来处理一个字段在同义词之前有一个LowerCase过滤器和同义词在LowerCase之前出现的情况。

南非,南非=> southafrica

此处有更多信息http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory