Separat kann ich Teilsuche arbeiten und ich kann alle Felder durchsuchen. Bei einer Suche, die alle Felder abbildet, kann die Teilübereinstimmung jedoch nicht verwendet werden.Erstellen Sie eine ElasticSearch-Abfrage, um alle Felder zu durchsuchen und Teilabgleich gleichzeitig zu verwenden
Das gibt meinen Namen, wenn ich eine Teilübereinstimmung verwenden:
GET /_search?pretty=true
{
"query": {
"match": {
"FullName": "andon"
}
}
}
Diese Suche über alle Felder läuft, aber nicht teilweise Übereinstimmung tun (0 Treffer):
GET /_search?pretty=true
{
"query": {
"match": {
"_all": "andon"
}
}
}
Was ich tun müssen Sie tun, um Teilübereinstimmung mit einer Suche auf allen Feldern zu kombinieren & Arten? Ich habe viele Felder und Typen, daher hoffe ich, sie nicht alle manuell angeben zu müssen.
Wenn es einen Unterschied macht, füge ich meine Daten aus einem River, der mit SQL verbindet.
EDIT: Ich habe jetzt das Feld _all in meinem Mapping. Es scheint keinen Unterschied zu machen.
PUT /contact/
{
"settings" : {
"index" : {
"analysis" : {
"analyzer" : {
"my_ngram_analyzer" : {
"tokenizer" : "my_ngram_tokenizer"
}
},
"tokenizer" : {
"my_ngram_tokenizer" : {
"type" : "nGram",
"min_gram" : "1",
"max_gram" : "10"
}
}
}
}
},
"mappings": {
"_default_": {
"_all" : {"enabled" : true},
"properties" : {
"Description":{"type":"string","store":"yes", "index_analyzer": "my_ngram_analyzer"},
"OfficePhone":{"type":"string","store":"yes"},
"Email":{"type":"string","store":"yes", "index_analyzer": "my_ngram_analyzer"},
"FullName":{"type":"string","store":"yes", "index_analyzer": "my_ngram_analyzer"},
"ReportsTo":{"type":"string","store":"yes"},
"Department":{"type":"string","store":"yes", "index_analyzer": "my_ngram_analyzer"},
"Title":{"type":"string","store":"yes", "index_analyzer": "my_ngram_analyzer"}
}
}
}
}
Haben Sie ' "_all": { "aktiviert": true} 'in Ihrem Mapping? siehe http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-all-field.html –
@maxivanov Ich tat es nicht, aber ich mache es jetzt. Bitte sehen Sie meine Bearbeitung – Brandon
Können Sie es reproduzieren? Ich kann einfach nicht: https://gist.github.com/maximivanov/8958787 –