我有一个人数据库的索引与下面的映射。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:坚持使用“查询”,您可能不会注意到性能差异。 –