检查String a
是否属于Lucene String b
的一部分的最佳方式是什么?例如:a = "capital"
和b = "Berlin is a capital of Germany"
。在这种情况下,b
包含a
并符合要求。
答案 0 :(得分:1)
我认为您的问题可以被视为某个字段包含某些字词。 在大多数分析仪中,基本的TermQuery应该足以解决您的问题。"柏林是德国的首都"将被分析为" berlin"," capital" "德国"(如果你使用基本停用词)
// code in Scala
new TermQuery(new Term("contents", "capital"))
您也可以使用PhraseQuery来解决您的问题(但是,您的问题不是最适合PhraseQuery的场景)。
val query = new PhraseQuery();
query.add(new Term("contents", "capital"))
Lucene In Action 2nd, 3.4 Lucene的多样化查询介绍了Lucene中使用的各种Query。我建议您阅读,这可能会有所帮助。