Django Haystack+;Elasticsearch-如何返回距离查询编辑距离很小的结果?
因此,我们使用Django haystack和Elasticsearch后端对一组数据进行索引以进行搜索。这是非常快的,在大多数情况下工作得很好,但我注意到我想要的东西似乎没有。例如,考虑搜索查询<代码>“地窖门”< /代码>。我想要一个稍微不正确的查询,比如拼写错误,例如Django Haystack+;Elasticsearch-如何返回距离查询编辑距离很小的结果?,django,
elasticsearch,django-haystack,Django,
elasticsearch,Django Haystack,因此,我们使用Django haystack和Elasticsearch后端对一组数据进行索引以进行搜索。这是非常快的,在大多数情况下工作得很好,但我注意到我想要的东西似乎没有。例如,考虑搜索查询“地窖门”< /代码>。我想要一个稍微不正确的查询,比如拼写错误,例如“cellar dor”或“celar door”,以匹配“cellar door”的结果。如果我在当前设置中尝试这样的查询,它将返回0个结果。我尝试在我们想要索引的字段的搜索索引中使用EdgeNgramField,但这似乎完全没有效
“cellar dor”
或“celar door”
,以匹配“cellar door”
的结果。如果我在当前设置中尝试这样的查询,它将返回0个结果。我尝试在我们想要索引的字段的搜索索引中使用EdgeNgramField,但这似乎完全没有效果
谢谢。使用“建议”执行拼写检查
curl -XPOST 'localhost:9200/index/_search?search_type=count' -d '{
{
"suggest": {
"body": {
"text": "celar door",
"term": {
"field": "summary",
"analyzer": "simple"
}
}
}
}'
您应该使用模糊查询,在这里找到示例