mit der folgenden Abbildung:ein Feld auf einem Elasticsearch Abfrage
curl -XPUT 'localhost:9200/testidx?pretty=true' -d '{
"mappings": {
"items": {
"dynamic": "strict",
"properties" : {
"title" : { "type": "string" },
"body" : { "type": "string" }
}}}}'
Ich habe zwei Gegenstände darauf:
curl -XPUT 'localhost:9200/testidx/items/1' -d '{
"title": "Titulo anterior",
"body": "blablabla blablabla blablabla blablabla blablabla blablabla"
}'
curl -XPUT 'localhost:9200/testidx/items/2' -d '{
"title": "Joselr",
"body": "Titulo stuff more stuff"
}'
Jetzt möchte ich das Wort suchen titulo
auf jedem Feld aber body
, so was ich tue, ist (nach this post):
curl -XGET 'localhost:9200/testidx/items/_search?pretty=true' -d '{
"query" : {
"query_string": {
"query": "Titulo"
}},
"_source" : {
"exclude" : ["*.body"]
}
}'
Es s soll nur das 1
Element zeigen, als das zweite hat das Wort Titulo
, aber es ist auf dem body
und das ist, was ich ignorieren möchte. Wie kann das archiviert werden?
PS: Dies ist nur ein einfaches Beispiel, ich habe eine Zuordnung mit vielen Eigenschaften und ich möchte einige von ihnen in einigen Suchen ignorieren.
PS2: Ich verwende ES 2.3.2
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-source-filtering.html&rqid=iKqKTO4D&geid=lo – blackmamba
Das habe ich ausprobiert. Lies zuerst meine Frage. –