使用查詢分析器與適當的分析,像剛纔搜索一下:
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_48);
QueryParser parser = new QueryParser(Version.LUCENE_48, "keyword", analyzer);
Query query = parse.parse("The quick brown fox jumped over the lazy dog");
int maxHits = 10; //Or however many you want
TopDocs topdocs = indexSearcher.search(query, maxHits);
上面的查詢將搜索存在於關鍵詞字段中的每個學期,所以查詢看起來像(的是停止詞,默認情況下,因此將被淘汰):
keyword:quick keyword:brown keyword:fox keyword:over keyword:lazy keyword:dog
在elasticsearch,等效爲query string query
{
"query_string" : {
"default_field" : "keyword",
"query" : "The quick brown fox jumped over the lazy dog"
}
}
Muchos gracias。這看起來正是我需要的。從query_string描述中看起來並不明顯,但將其付諸實踐可以完美實現。 – Maloric