2010-07-30 21 views
3

在为我的Lucene查询构建一些单元测试时,我注意到了一些与标点符号有关的奇怪行为,特别是在括号内。Lucene与标点符号相关

什么是处理包含大量标点符号的搜索字段的最佳方法?

回答

3

如果你还没有定制查询解析器,Lucene应该按照default query parser syntax的行为。你有什么不同吗?你想要标点符号具有特殊含义还是只是为了从搜索中删除标点符号? 另一个通常的嫌疑人是Analyzer,它决定了你的字段是如何编入索引的,以及如何将查询分解成多个部分进行搜索。你能发表不良行为的具体例子吗?

+0

感谢您的回复。我通过在文档上设置一个纯粹用于搜索目的的“干净”字段来推进此工作。这迫使我也'清理'所有搜索查询字符串。似乎工作得很好,并且作为查询结果返回完整字段。 – berko 2010-08-05 06:53:47

+0

链接被破坏 – DCShannon 2015-02-12 02:09:07

+0

@DCShannon - 我已更新链接。当链接再次中断时,尝试搜索更多当前版本的Lucene - 应该在那里找到它们。 – 2015-02-12 09:49:26

1

它不只是括号,其他标点符号如冒号,连字符等都会引起问题。 Here是一种处理它们的方法。