我正在使用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。有谁可以帮我这个?
答案 0 :(得分:1)
在Lucene中索引和搜索GUID字段没有问题。您唯一需要确保的是,如果您实际使用NOT_ANALYZED选项索引字段,则不会通过分析器处理查询。
当您使用标准分析器时,索引时对字段的唯一更改是将GUID中的任何文本更改为小写(如果由于某种原因,它不是小写的话)。
我的建议是将GUID字段设置为不进行分析,然后使用TermQuery而不是解析。
如果你想要一个更明智的答案,你真的需要提供你用来索引GUID的代码,以及你的GUID实际上是什么样的。