假設我有兩個不同的索引字段 在elasticsearch和/ MUST運營商查詢,如下所示:如何elasticsearch獲取並從其索引操作查詢
"bool": {
"must": [
{
"match" : {
"query": "Will",
"fields": [ "first",],
"minimum_should_match": "100%" // assuming this is q1
}
},
{
"match" : {
"query": "Smith",
"fields": [ "last" ]
"minimum_should_match": "100%" //assuming this is q2
}
}
]
}
現在我想知道如何在後臺彈性搜索將取回文件。 它是否會得到所有索引匹配q1的文檔的id,然後遍歷所有索引q2的索引。
或
它做兩個交集,如何?
如何索引我的數據以在兩個單獨的字段上進行優化和QUERIES?
@soulcheck ...感謝信息它有助於查詢的情況下,過濾器將有助於執行緩存....如果可能,你可以提供詳細說明兩個過濾器如何相交的工作? –
@PrannoyMittal找到匹配的文檔是完全一樣的 - 請記住,在lucene過濾器只是不參與評分的查詢(從5.x開始的lucene建議使用TermQuery來實現術語過濾器)。 – soulcheck
舉例來說,這是lucene 5.4.0中的'TermFilter'構造函數:'public TermFilter(Term term){超級(新TermQuery(term)); }' – soulcheck