gpt4 book ai didi

hibernate - Lucene:查找以特定前缀开头的所有单词

转载 作者:行者123 更新时间:2023-12-02 23:28:03 24 4
gpt4 key购买 nike

我想获取 Lucene 索引中以特定前缀开头的所有单词的列表。我一直在寻找一种方法来查询索引中的术语(我需要这些术语,我不关心它们来自的文档),但没有成功。有什么想法吗?

最佳答案

明白了! FilteredTermEnum 子类(FuzzyTermEnumRegexTermEnumWildcardTermEnum)正是我所需要的。

这是一个简单的示例:

FSDirectory dir = FSDirectory.open(new File("index"));
IndexWriter writer = new IndexWriter(dir, new WhitespaceAnalyzer(),
true, new IndexWriter.MaxFieldLength(20));
IndexReader reader = IndexReader.open(dir);

Document doc = new Document();
doc.add(new Field(
"text",
"Life #consists not in #holding good cards, but in playing those you hold well.",
Field.Store.NO, Field.Index.ANALYZED));
writer.addDocument(doc);
writer.close();

WildcardTermEnum tagsEnum = new WildcardTermEnum(reader, new Term("text", "#*"));
do {
System.out.println(tagsEnum.term());
} while (tagsEnum.next());

关于hibernate - Lucene:查找以特定前缀开头的所有单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2892994/

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