gpt4 book ai didi

Java/Lucene 在多个字段中搜索子字符串

转载 作者:行者123 更新时间:2023-12-04 05:18:40 25 4
gpt4 key购买 nike

我正在使用 Lucence V3.1 和 Java 1.6。

我正在尝试编写允许我进行多字段短语搜索的代码(使用 java 和 lucene)。但是,我不希望该短语与字段中的值完全匹配。我想要的是检查该短语是否实际上是该字段中值的子字符串。我尝试了以下但还没有运气:

IndexReader reader = IndexReader.Open("<lucene dir>");
Searcher searcher = new IndexSearcher(reader);

BooleanQuery booleanQuery = new BooleanQuery();
Query query1 = new TermQuery(new Term("<field-name>", "<text>"));
booleanQuery.add(query1, BooleanClause.Occur.SHOULD);
Hits hits = searcher.Search(booleanQuery);

最佳答案

只用引号?就像“这是子字符串”。这肯定适用于 lucene QueryParser
如果要在 Query 中使用使用 PhraseQuery .另见 http://lucene.apache.org/core/old_versioned_docs/versions/3_1_0/api/core/org/apache/lucene/search/PhraseQuery.html

关于Java/Lucene 在多个字段中搜索子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13933241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com