Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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
Django Haystack+;Elasticsearch-如何返回距离查询编辑距离很小的结果?_Django_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Django Haystack - Fatal编程技术网 elasticsearch,django-haystack,Django,elasticsearch,Django Haystack" /> elasticsearch,django-haystack,Django,elasticsearch,Django Haystack" />

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,但这似乎完全没有效

因此,我们使用Django haystack和Elasticsearch后端对一组数据进行索引以进行搜索。这是非常快的,在大多数情况下工作得很好,但我注意到我想要的东西似乎没有。例如,考虑搜索查询<代码>“地窖门”< /代码>。我想要一个稍微不正确的查询,比如拼写错误,例如
“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"
         }
      }
   }
}'

您应该使用模糊查询,在这里找到示例