Javascript Elasticsearch多匹配查询
我在web GUI中有一个搜索文本字段,用于Elasticsearch索引,该索引有两种不同类型的字段需要搜索;全文(描述)和精确匹配(id) 问题1-如何为id字段添加第二个精确匹配查询?当我搜索ID时,确切的ID在结果“set”中,但它应该是唯一的结果 描述搜索似乎工作正常,而不是ID搜索Javascript Elasticsearch多匹配查询,javascript,
elasticsearch,Javascript,
elasticsearch,我在web GUI中有一个搜索文本字段,用于Elasticsearch索引,该索引有两种不同类型的字段需要搜索;全文(描述)和精确匹配(id) 问题1-如何为id字段添加第二个精确匹配查询?当我搜索ID时,确切的ID在结果“set”中,但它应该是唯一的结果 描述搜索似乎工作正常,而不是ID搜索 "multi_match": { "fields": ["id", "description"], "query": query, "description": {
"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的匹配短语查询可以工作吗?但同样,这取决于你在尝试什么。太棒了。我要试试看。非常感谢。