3

我正在使用 lucene.net (LUCENE_30),因为我想搜索 GUID 格式的类别,但无法通过使用 lucene searchresult 进行搜索。

我们可以使用 lucene 搜索来搜索 GUID 吗?

我的代码看起来像这样 maxResult = 10000;

QueryParser parser = new QueryParser(version, "IDTag", analyzer);
termQuery = parser.Parse(strIDTag);// where I am passing GUID value
TopDocs topDocs = searcher.Search(termQuery, maxResults);

在 topDocs 之后,我的点击率为零。我可以使用什么类型的搜索查询,我使用过 QueryParser、BooleanQuery、TermQuery。有人可以帮我吗?

4

1 回答 1

2

在 Lucene 中索引和搜索 GUID 字段没有问题。您唯一需要确保的是,如果您实际上使用 NOT_ANALYZED 选项索引了该字段,则您没有通过分析器处理您的查询。

当您使用标准分析器时,索引时对该字段的唯一更改是将 GUID 中的任何文本更改为小写(如果由于某种原因它还不是小写)。

我的建议是设置 GUID 字段不被分析,然后使用 TermQuery 而不是解析。

如果您想要更明智的答案,您确实需要提供用于索引 GUID 的代码,以及您的 GUID 的实际外观。

于 2013-09-17T11:42:04.960 回答