3

有人可以给我举个例子,如何使用 Lucene.net 搜索短语吗?

假设我的索引中有一个字段为“name”、值为“Jon Skeet”的文档。现在我希望能够在搜索“jon skeet”时找到该文档。

4

1 回答 1

4

您可以使用邻近搜索来查找彼此相距一定距离内的术语。Lucene 查询语法如下所示"jon skeet"~3,意思是在三个单词中查找“jon”和“skeet”。使用这种语法,相对顺序无关紧要;“jon q. skeet”、“skeet, q. jon”和“jon skeet”都会匹配。

如果您有一个要视为单个标记的短语列表,则需要在分析器中处理它。例如,您想将“近东”、“中东”和“远东”视为单独的标记。您需要编写一个带有一些前瞻功能的分析器,以便它可以将这些短语视为一个单词。该分析器用于索引器和搜索应用程序中的用户输入。

于 2008-12-05T07:18:31.990 回答