如何使用lucene.net搜索GUID

时间:2013-09-12 11:45:16

标签: asp.net c#-4.0 search lucene.net

我正在使用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。有谁可以帮我这个?

1 个答案:

答案 0 :(得分:1)

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

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

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

如果你想要一个更明智的答案,你真的需要提供你用来索引GUID的代码,以及你的GUID实际上是什么样的。