elasticsearch 用于ElasticSearch的类似SQL的模拟命令
告诉我ElasticSearch的类似SQL的模拟命令 SQL命令:
elasticsearch 用于ElasticSearch的类似SQL的模拟命令,
elasticsearch,sql-like,fuzzy-search,
elasticsearch,Sql Like,Fuzzy Search,告诉我ElasticSearch的类似SQL的模拟命令 SQL命令: SELECT * FROM cities where 'blah Chicago blah' LIKE CONCAT('%', name, '%'); 预期输出:[{id:123,名称:'Chicago'}] 这应该用于文本中实体的模糊搜索。这不完全是您需要的,但我们可以从以下方面开始: { "query": { "query_string": { "default_field": "Name", "query
SELECT * FROM cities where 'blah Chicago blah' LIKE CONCAT('%', name, '%');
预期输出:[{id:123,名称:'Chicago'}]
这应该用于文本中实体的模糊搜索。这不完全是您需要的,但我们可以从以下方面开始:
{
"query": {
"query_string": { "default_field": "Name", "query": "Chicago" }
}
}
此查询返回所有带有工作Chicago
的文档
您可以修改查询:
{
"query": {
"query_string": { "default_field": "Name", "query": "*Chicago*" }
}
}
在这种情况下,您将获得带有单词
Chicago
和包含单词Chicago
-ChicagoTown
的文档。例如,弹性搜索不适用于此类任务(
它的目的是将文本作为一个单词数组,而不是一个字符数组)
现在我使用pg_trgm(word_similarity(text,text))扩展名来完成我的任务。谢谢你的回答。我使用这个解决方案有一段时间了。使用pg_trgm扩展可能是解决此问题的最佳方法。