我有一個人數據庫的索引與下面的映射。elasticsearch搜索過濾器等於問題
{
"person" : {
"sex" : { "type" : "string" },
"dob" : { "type" : "string" },
"fname" : { "type" : "string" },
"lname" : { "type" : "string" },
"phone" : { "type" : "string" }
}
}
我的需求是找到所有與多個條件子句匹配的條目。
杜伯+電話+性別(OR)FNAME LNAME + +出生日期
如何創造上述條件的查詢或過濾器(使用布爾)。此外,我需要查詢或過濾不區分大小寫。
任何想法?
謝謝
Thanks @olly。我讀過濾器比匹配更快。有什麼方法可以使用過濾器嗎? – user3658423
您可以用「過濾器」替換「查詢」。然後,您需要將「匹配」替換爲「術語」。您還需要創建一個自定義的小寫分析器,它不會標記數據並確保傳遞給過濾器的值始終爲小寫。在功能上你在做什麼是一個查詢 - 你最好擁有它提供的靈活性。 TL; DR:堅持使用「查詢」,您可能不會注意到性能差異。 –