告诉我用于ElasticSearch的模拟SQL LIKE命令。
SQL命令:
SELECT * FROM cities where 'blah Chicago blah' LIKE CONCAT('%', name, '%');
预期输出:[{id:123,名称:'Chicago'}]。
这应该用于文本中实体的模糊搜索。
答案 0 :(得分:0)
这不正是笏你所需要的,但是我们可以从启动:
{
"query": {
"query_string": { "default_field": "Name", "query": "Chicago" }
}
}
这个查询返回的所有文件与工件Chicago
。
您可以修改查询:
{
"query": {
"query_string": { "default_field": "Name", "query": "*Chicago*" }
}
}
例如,在这种情况下,您获得的文档包含单词Chicago
和包含单词Chicago
-ChicagoTown
的单词。
答案 1 :(得分:0)
“弹性搜索”不适用于此类任务( 它旨在将文本作为单词数组而不是字符数组来使用)。
现在我在任务中使用pg_trgm(单词_相似性(文本,文本))扩展名。