match 查询: operator:or ,只要 query_array 中的任意一个元素在 text_array_n 中即可; operator:and ,只要 query_array 是 text_array_n 的子集即可,顺序无关; phrase_match 查询:query_array 是 text_array_n 的子集,且和元素的下标顺序有关。 slop=0 时,query_array 中的元素出现在 text_array_...
1、match查询:会先对搜索词进行分词,比如“白雪公主和苹果”,会分成“白雪”“公主”“苹果”。含有相关内容的字段,都会被检索出来。 2、match_phrase查询:match_phrase与slop一起用,能保证分词间的邻近关系,slop参数告诉match_phrase查询词条能够相隔多远时仍然将文档视为匹配,默认是0。为0时 必须相邻才能被检索出来。
但是,当我们需要在搜索的结果中,做一个特殊的要求:hello和spark两个单词距离越近,document在结果集合中排序越靠前,这个时候再使用match则未必能得到想要的结果.针对这种情况,在ES的搜索中,对match phrase提供了参数slop。slop代表match phrase短语搜索的时候,单词最多移动多少次,可以实现数据匹配。在所有匹配结果中,多...
1、match查询:会先对搜索词进行分词,比如“白雪公主和苹果”,会分成“白雪”“公主”“苹果”。含有相关内容的字段,都会被检索出来。 2、match_phrase查询:match_phrase与slop一起用,能保证分词间的邻近关系,slop参数告诉match_phrase查询词条能够相隔多远时仍然将文档视为匹配,默认是0。为0时 必须相邻才能被检索出来。
match_all:查询全部。 match_phrase:短语查询,在match的基础上进一步查询词组,可以指定slop分词间隔。 match_phrase_prefix:前缀查询,根据短语中最后一个词组做前缀匹配,可以应用于搜索提示,但注意和max_expanions搭配。其实默认是50... multi_match:多字段查询,使用相当的灵活,可以完成match_phrase和match_phrase_prefi...
match_phrase搜索的数据类型为text类型,会将查询条件进行分词,但要求待匹配的文档需要同时包含分词后的数据。 流程: es会先过滤不符合query条件的doc。 es会根据分词的position对分词进行过滤和评分,可通过slop参数来设置,默认为0。即查询条件中的词组相隔的的位置。 2. 实战 2.1 数据准备 # 创建索引 PUT test_phr...
4.1 match_phrase 核心参数:slop 参数-Token之间的位置距离容差值 代码语言:javascript 代码运行次数:0 复制 Cloud Studio代码运行 # 将上面的 match_phrase 查询新增一个 slop参数GET/tehero_index/_doc/_search{"query":{"match_phrase":{"content.ik_smart_analyzer":{"query":"关注我,系统学","slop":1...
GET /indexname/_search { "query": { "match_phrase": { "name": "数据" } } } GET /indexname/_search { "query": { "match_phrase": { "name": { "query": "基础数据", "slop":10 基础测试的之间的最大距离 10 } } } } 9. 地址位置查询 9.1 geo_distance 测试数据 POST /indexname...
GET/exam/_search{"query":{"match_phrase":{"address":{"query":"book a","slop":2}}} match_phrase_prefix 匹配前缀,比如对于 address 值为 'read a book' 的数据,我们只知道的值是 'read a bo',想要根据这个搜索词搜索完整的数据,就可以用到 match_phrase_prefix。 他...
直接用match_phrase短语搜索,会导致必须有term都在doc field中出现,而且距离在slop限定范围内,才能匹配上 此时可以用bool组合match query和match_phrase query一起,来实现上述效果 match --> 只要简单的匹配到了一个term,就可以理解将term对应的doc作为结果返回,扫描倒排索引,扫描到了就ok phrase ...