在基于属性的弹性搜索中搜索通过附件附加索引的文档。
我是弹性搜索的新手,希望为具有某些属性(例如作者,标题,主题,类别,社区等)的文件建立索引。
我到达了多远:-
i能够创建一个附件管道,并且能够使用属性来摄取弹性文档中的不同文档。看看下面我是怎么做的:-
1)通过以下请求创建管道:-
{
"description":"Extract attachment information",
"processors":[
{
"attachment":{
"field":"data"
}
}
]
}
2)通过以下代码上传附件:-
{
"filename":"Presentations-Tips.ppt",
"Author":"Jaspreet",
"Category":"uploading ppt",
"Subject":"testing ppt",
"fileUrl":"",
"attributes":
{"attr11":"attr11value","attr22":"attr22value","attr33":"attr33value"},
"data": "here_base64_string_of_file"
}
3)然后可以自由搜索上述所有属性以及文件内容:-
{
"query":{
"query_string":{
"query":"*test*"
}
}
}
现在我想要的是:- 想要通过一些过滤器来缩小搜索范围:-
请使用正确的查询语法为我提供帮助,并致电url,就像上面的全文搜索一样,我使用了'GET / my_index / _search'
答案 0 :(得分:0)
花了一些时间终于得到了答案:-
curl -X POST \
http://localhost:9200/my_index/_search \
-H 'Content-Type: application/json' \
-d '{
"query": {
"bool": {
"must": [
{
"query_string": {
"query": "progress"
}
},
{
"wildcard": {
"Author": "Rohan"
}
},
{
"wildcard": {
"Title": "q*"
}
}
]
}
}
}'
现在在上面,您可以根据需要删除或添加must数组中的任何对象。