Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Elasticsearch多匹配查询_Javascript_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Javascript,elasticsearch" /> elasticsearch,Javascript,elasticsearch" />

Javascript Elasticsearch多匹配查询

Javascript Elasticsearch多匹配查询,javascript,elasticsearch,Javascript,elasticsearch,我在web GUI中有一个搜索文本字段,用于Elasticsearch索引,该索引有两种不同类型的字段需要搜索;全文(描述)和精确匹配(id) 问题1-如何为id字段添加第二个精确匹配查询?当我搜索ID时,确切的ID在结果“set”中,但它应该是唯一的结果 描述搜索似乎工作正常,而不是ID搜索 "multi_match": { "fields": ["id", "description"], "query": query, "description": {

我在web GUI中有一个搜索文本字段,用于Elasticsearch索引,该索引有两种不同类型的字段需要搜索;全文(描述)和精确匹配(id)

问题1-如何为id字段添加第二个精确匹配查询?当我搜索ID时,确切的ID在结果“set”中,但它应该是唯一的结果

描述搜索似乎工作正常,而不是ID搜索

"multi_match": {
    "fields": ["id", "description"],
    "query": query,
    "description": {
        "fuzziness": 1,
        "operator": "and"   
     }                      
 }    

我想你在找这样的东西。试试看

{
  "query": {
    "bool": {
     "must": [ {
        "match": {
          "description": {
           "fuzziness": 1,
           "query": "yourfuzzinessdescription"
          }
        }
      },
      {
        "term" : {
          "id" : 1
        }
      }
      ]
    }
  }
}

Dani的查询结构可能是您正在寻找的,但是您可能还需要一种替代查询的模糊性方面的方法。或者可能不是-您能否提供一个用户输入描述字段的示例,以及您希望与之匹配的内容


看看和,模糊性是基于Levenshtein距离的。因此,该查询对应于允许编辑距离为1,并允许轻微拼写错误等。如果在原始查询中保留
运算符,则必须匹配查询中的所有术语。如果您有一个描述为“基于Lucene的搜索服务器”的文档,您将无法使用描述查询(如“基于Lucene的搜索服务器”)检索该文档。使用带有停止过滤器和词干过滤器的分析器以及带有slop的匹配短语查询可以工作吗?但同样,这取决于你在尝试什么。

太棒了。我要试试看。非常感谢。