如何在OpenSearchServer / Lucene中处理像(#)这样的特殊字符?

时间:2012-04-17 10:19:13

标签: lucene search-engine

我正在使用OpenSearchServer(社区版)v1.2.4-rc3 - stable - rev 1474 - build 802.我抓了一个C#和C ++编程网站。现在,当我搜索C#或C ++时,软件会删除特殊字符,如#,+。结果并不确切,哪个软件返回。如何在OpenSearchServer / Lucene中处理像(#)这样的特殊字符?任何人都可以建议我的想法吗?提前致谢

1 个答案:

答案 0 :(得分:1)

您需要更改索引策略以使用自定义或半自定义标记生成器来保留表示C#和C ++代码术语所需的特殊字符。您可以在索引编制期间和搜索期间使用此标记生成器。

副手,我会查看 org.apache.lucene.analysis.standard org.apache.lucene.wikipedia.analysis 以获取一些想法构造标记器(使用像JFlex等标记器(词法分析器)生成器可以调用而不是手动编码标记器)。