我正在尝试使用 Lucene 在数据库中搜索名称。但是,有些名称包含诸如“NOT”和“OR”之类的词,甚至包含“-”减号。我仍然希望使用分析器将名称中的不同标记分解并作为术语的布尔组合进行搜索,但我不希望 Lucene 将任何“NOT”/“OR”术语解释为运算符(而不是我希望它们像正常术语一样被搜索)。
完成我所说的一种方法是在搜索查询上手动运行分析器,然后根据所有结果标记手动构造一个布尔查询。这是最好的方法吗?我的印象是分析器被设计为与查询解析器一起使用,我觉得应该有一个内置的方法来完成我想要做的事情。有人知道最好的方法吗?