Lucene 如何获取包含搜索查询中指定的所有字符串的结果

Lucene 如何获取包含搜索查询中指定的所有字符串的结果,lucene,Lucene,我是Lucene的初学者。我正在写一个搜索引擎来搜索我们的代码库中的某些关键词。我有一个需要你帮助的要求。假设我正在搜索一个词“苹果电脑”,我希望Lucene只抛出不区分大小写的“苹果电脑”行。但我看到的是,我看到的是有苹果电脑的生产线,只有苹果电脑的生产线和只有电脑的生产线。我如何过滤它以只获得包含apple和computer的行。如何查询Lucene?基本上,通过使用构建查询可以解决您的问题。 具体如何做到这一点取决于您的查询构造:对于默认查询解析器,您应该使用 +苹果+电脑 如果您以编程方

我是Lucene的初学者。我正在写一个搜索引擎来搜索我们的代码库中的某些关键词。我有一个需要你帮助的要求。假设我正在搜索一个词“苹果电脑”,我希望Lucene只抛出不区分大小写的“苹果电脑”行。但我看到的是,我看到的是有苹果电脑的生产线,只有苹果电脑的生产线和只有电脑的生产线。我如何过滤它以只获得包含apple和computer的行。

如何查询Lucene?基本上,通过使用构建查询可以解决您的问题。 具体如何做到这一点取决于您的查询构造:对于默认查询解析器,您应该使用

+苹果+电脑


如果您以编程方式构建查询,则应该为每个术语使用MUST。

正如Yuval所建议的,了解如何使用Lucene是很重要的。
如果您通过lucene java使用它,并且需要精确的短语结果(只包含“apple computers”的文档),您可以使用


.

感谢您的宝贵意见。我也遵循同样的方法。但另一个要求是,我需要突出显示结果中的字符串。但当我使用TermFreqVector,TermPositionVector时,我得到的偏移量仍然指向只有apple的直线和只有计算机的sole直线。我将文件的全部内容作为一个文档存储在字段名“contents”下。我认为我的方法是错误的,我需要逐行idex。这是正确的吗。或者哪种方法更适合突出显示搜索结果。有什么帮助吗?谢谢你的帮助。我使用了短语查询并使用了适当的slop值。结果就是我想要的结果。布尔查询也有效。《Lucene在行动》一书回答了我所有的疑问。我强烈推荐这本书给所有想学习Lucene的人