我正在构建一个遵循此工作流程的监控Web应用程序:
一个品牌(沃尔沃,宝马等)的社交帐户,这个例子的facebook,链接到应用程序,并检索所有信息(评论,反应,帖子)并保存到本地数据库。
生成统计信息并显示在内部信息中心上。
然后,用户可以在此信息中心内搜索包含特定字词的帖子或评论。
我在搜索表单上使用Select2,只允许用户搜索单个单词,即。 [坏,车,服务]。
使用mySQL搜索的简单实现已经部署完毕,我正在与Elastic Search合作以寻求更好的解决方案。
所以我的问题是:
在本地数据库中,我有5条记录包含:
当用户搜索“糟糕”
时,如何获取所有这些记录我一直在尝试使用documentation上的短语建议示例而没有任何运气。
感谢。
答案 0 :(得分:1)
请查看fuzziness或fuzzy query。应该对你有所帮助。
您可以match
query使用fuzziness = AUTO
:
GET /_search
{
"query": {
"match" : {
"your_field_name" : {
"query" : "awful",
"fuzziness": "AUTO"
}
}
}
}
如果AUTO
不够,您可以在documentation上指定参数。