elasticsearch - Elasticsearch - 如何在所有索引和文档中搜索部分单词
问题描述
我想进行这样的搜索:
- 例如,当我输入“Desc”时,我想获取包含“Desc”的所有内容,并且不区分大小写。我不想包含索引名称或文档,我希望它搜索所有内容。
我试过这个,但效果不是很好。
GET /_search
{
"query":
{ "query_string":
{
"query": "Test*"
}
}
}
解决方案
尝试使用通配符搜索。确保您要搜索的字段是text
字段。
{
"query": {
"query_string" : {
"query" : "*desc*"
}
}
}
如果要使用所有索引,可以这样查询
curl -XGET 'http://localhost:9200/index1,index2/_search
PS:在性能方面,这是一个坏主意,因为这会搜索索引中的所有字段。或者,您可以在查询字符串中使用 usedefault_field
并指定字段。
推荐阅读
- reactjs - 如何自定义 React Recaptcha 的样式?
- javascript - 有没有办法将 mp4/wav 文件转换为 nativescript 中的字节数组?
- reactjs - 如何确定来自 LS(脱水)的状态与 combinereducer 的形状匹配以应用于预加载状态?
- python - 通过 python 使用 selenium 进入下一页
- git - 通过指定标签签出时,Git 中的 HEAD 引用是否指向标签或 SHA-1 值?
- python - 如何将 pandas 数据框列转换为图像数组,即 Python 中形状为 (n,n) 的 numpy 数组?
- javascript - 如何从文本字段打印输入?
- konvajs - 有没有办法在 Konvajs 的 Transformer 的锚点中放置形状?
- javascript - Service Worker controllerChange 仅适用于 skipWaiting()
- javascript - 如何改变 '。' emmet 在编写 javascript 时扩展为 className 而不是 class?