怎么做“3.5mm”的lucene搜索?

时间:2017-04-25 10:06:22

标签: c# lucene.net

当我对术语“3.5mm”执行BooleanQuery搜索时,我没有得到任何搜索结果。 “。”不是一个特殊的角色,所以我不明白为什么它不起作用。有一个简单的解决方法吗?

如果我使用通配符令牌(即3 * 5mm),我可以找到搜索词,但当然这也会返回许多不需要的结果。

                innerQuery = new BooleanQuery();
            foreach (string term in terms)
            {
                innerQuery.Add(new TermQuery(new Term(field, term)), Occur.MUST);
            }

            var parser = new MultiFieldQueryParser(Version.LUCENE_30, searchFields, analyzer);
        IEnumerable<ScoreDoc> hits = indexSearcher.Search(booleanQuery, null, hits_limit, Sort.RELEVANCE).ScoreDocs;
        IEnumerable<T> results = MapLuceneToDataList(hits, indexSearcher);

0 个答案:

没有答案