2
正確に配列を一致させる方法を探しています。Elasticsearchで複数の値を正確に検索する
例文書:
{"id": 1, "categories" : ["A", "C","E"]}
{"id": 2, "categories" : ["A", "C"]}
{"id": 3, "categories" : ["C", "A"]}
私は「A」と「C」で検索すると、それが唯一の第一及び第三の文書を返します
{"id": 1, "categories" : ["A", "C","E"]}
{"id": 2, "categories" : ["A", "C"]}
第三1が返されるべきではありません順序が一致しないためです。
私は、次のクエリを試してみましたが、それは考慮して順番を取ることはありませんので、それはまだ第三の文書を返します。
{
"sort": [
{
"modified": {
"order": "desc"
}
}
],
"query": {
"bool": {
"filter": {
"bool": {
"must": [
{
"term": {
"categories": "A"
}
},
{
"term": {
"categories": "C"
}
}
]
}
}
}
}
}
私はこの正確な順序の検索を提供したい、50個の以上のフィールドを持っていますカテゴリ ":" "、" categorieskey ":" cd "というキーワードを使用して、" AC " }
他の方法がありますか?
カテゴリ配列データ型ではなく、多値フィールドでもあり、これらの値の明示的な順序はありませんので、実際に問題を再考する必要があります。 – Mysterion
おそらく最も良い方法はこれらを格納することです小文字の文字列値を比較して比較します。 –