elasticsearch 如何在Manticore Search中执行通配符查询?

ryevplcw  于 2023-08-03  发布在  ElasticSearch
关注(0)|答案(1)|浏览(230)

我厌倦了Elasticsearch的胃口,正在寻找替代品。然后,我找到了Manticore:https://manticoresearch.com/
一切似乎都很好,但通配符查询。在ES中,我使用了很多通配符查询,比如'* word','word'和'word *'。Manticore确实支持MySQL协议,但不支持LIKE查询,所以我找不到任何方法来执行这种类型的查询。有什么想法吗

0ve6wy6x

0ve6wy6x1#

Manticore Search中,您可以使用MATCH()INANY运算符执行通配符查询。
以下是您可以实现的方法:
就像在MSSQL中使用%一样,您可以使用*运算符来执行LIKE操作。
如果值包含word

SELECT * FROM <index> WHERE MATCH('@<field> *word*');

字符串
如果值以word结尾

SELECT * FROM <index> WHERE MATCH('@<field> *word');


如果值以word开头

SELECT * FROM <index> WHERE MATCH('@<field> word*');


IN操作

SELECT * FROM <table> WHERE <column> IN ('Airplane', 'Vehicle');


ANY操作

SELECT * FROM <table> WHERE ANY(<column>) IN ('value1', 'value2', 'value3');

相关问题