gpt4 book ai didi

elasticsearch - Elasticsearch邻近查询

转载 作者:行者123 更新时间:2023-12-03 02:36:39 25 4
gpt4 key购买 nike

我正在寻找可以给我以下结果的查询

查找在它们之间没有“$$”的“A”和“B”

例如

doc1:“A $$ B C D”

doc2:“B $$ A C D”

doc3:“A B $$ C D”

doc4:“A C D B $$”

ans应该是doc3和doc4

最佳答案

Elasticsearch对文本和索引进行倒排索引分析。因此,关键是要知道如何对数据建立索引以了解如何查询数据(应该以查询的方式对数据建立索引)。

考虑以下情况,其中上述文本是使用标准分析器索引的,这是默认值(Elasticsearch提供_analyze API以测试如何分析数据)

 curl http://localhost:9200/sampleindex/_analyze?tokenizer=whitespace&filters=lowercase -d ' { "text" : "ab $$ cc", "analyzer": "standard" } ' 

{"tokens":[{"token":"ab","start_offset":0,"end_offset":2,"type":"<ALPHANUM>","position":0},{"token":"cc","start_offset":6,"end_offset":8,"type":"<ALPHANUM>","position":1}]}

请注意,索引不知道 token '$$',这意味着无法查询它(否定或肯定)。

如果该字段的索引映射包含适当的分析器,该分析器会将'$$'作为 token ,则可以在must not中使用简单的短语查询。

关于elasticsearch - Elasticsearch邻近查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58767354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com