我想找到以我要寻找的字符开头的句子或单词,我应该怎么做?
例如:
获取这样的数据列表
automatic car
car
carpet
car accessories
car battery
cast
game cards
race car
搜索“汽车”一词时,会发现以下数据。
car
car accessories
car battery
carpet
搜索单词“ ca”时,我发现以下数据
cast
car
car accessories
car battery
carpet
也就是说,我不希望他搜索整个句子,而只是希望他搜索以搜索字符开头的单词。
以sql为例,我想对'car%'这样的地方进行等效搜索
答案 0 :(得分:0)
您可以使用Wildcard query
GET /_search
{
"query": {
"wildcard": {
"field_name": {
"value": "ca*"
}
}
}
}
此外,如果您要实现类似 autocomplete 的功能,请阅读Suggesters文档
答案 1 :(得分:0)
Elasticsearch具有称为前缀查询的功能,该功能可在提供的字段中返回包含特定prefix
的文档。wildcard
也应该对您有用。
GET /_search
{
"query": {
"prefix" : { "your_index_field" : "car" }
}
}