因此我们使用Django-haystack和Elasticsearch后端来索引一堆数据进行搜索。它非常快,并且在大多数情况下工作得很好,但我注意到我想要的东西似乎不存在。例如,请考虑搜索查询"cellar door"
。我想要一个稍微偏离的查询,例如拼写错误,例如"cellar dor"
或"celar door"
以匹配"cellar door"
的结果。如果我使用当前设置尝试这样的查询,则返回0结果。我尝试在我们想要索引的字段的搜索索引中使用EdgeNgramField,但这似乎完全没有效果。
感谢。
答案 0 :(得分:0)
使用建议进行拼写检查。
curl -XPOST 'localhost:9200/index/_search?search_type=count' -d '{
{
"suggest": {
"body": {
"text": "celar door",
"term": {
"field": "summary",
"analyzer": "simple"
}
}
}
}'