Lucene 3.6 + 使用撇号搜索术语的问题



我们在代码中使用了Lucene v3.6。我们首先索引数据,然后使用 Lucene 搜索来搜索术语。使用 Luke,我已经确认,当我们索引一个术语(例如桥本的(时,它会与我假设的撇号进行索引(因为当我从获得的结果中搜索桥本时,我可以确认相应的字段值包含撇号作为桥本的撇号。但是,当我搜索桥本的(即使在卢克中(时,我也没有返回该字段的任何结果。例如

+names.name:hashimoto (works and returns multiple results some which have Hashimoto's as a term)
+names.name:hashimoto's (does not work - no results)

在这两种情况下,我都在使用标准分析器,据我所知,它应该可以毫无问题地处理撇号。

看起来您正在使用未被分析的查询。通常,查询时分析由查询解析器处理。如果不使用查询,则不会分析查询。如果您手动构造查询(例如TermQuery(,则假定您自己处理了任何与分析相关的问题,因此将按原样搜索该术语。

最新更新