我正在寻找像Solr中的搜索和替换功能。
我已将文档转储到solr中,并对其进行了一些文本分析。有时我可能需要将几个单词组合在一起,并希望solr将其视为一个单一的标记。
例如:“南非”将被视为进一步处理的单一标记。并且还注意到这些可以是动态的,并且我将让最终用户决定他/她必须分组哪些单词。所以没有语义要求。
我目前的计划是在这两个单词之间添加一个特殊字符,以便Solr将其视为一个单一标记(StandardTokenizerFactory)以供进一步处理。
所以我正在寻找类似的东西:
replace("South Africa",South_Africa")
任何人都可以有任何解决方案吗?
答案 0 :(得分:0)
你也许可以使用PatternReplaceFilter和聪明的正则表达式。
答案 1 :(得分:0)
使用同义词过滤器并在synonyms.txt文件中定义这些替换。获得所有定义后,重建索引。
你可能会有一个像这样的条目来处理一个字段在同义词之前有一个LowerCase过滤器和同义词在LowerCase之前出现的情况。
南非,南非=> southafrica
此处有更多信息http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory