2017-07-17 24 views
0

ここに問題があります: バックエンドでは、私はmongodbとelasticsearchを使ってJavaの春のブートをしています。私はこのような構造を持つオブジェクトを渡しているクライアントアプリからelasticsearchオブジェクトのネストされた配列 - 複雑なクエリ

{ "id": 1, 
    "prefixes": [ 
    { 
     "prefName": "RS", 
     "value": "c" 
    }, 
    { 
     "prefName": "99c", 
     "value": "c" 
    }, 
    { 
     "prefName": "RT", 
     "value": "a" 
    }, 
    { 
     "prefName": "001b", 
     "value": "a" 
    }, 
    { 
     "prefName": "DT", 
     "value": "m" 
    }, 
    { 
     "prefName": "001c", 
     "value": "m" 
    }, 
    { 
     "prefName": "001d", 
     "value": "b" 
    }, 
    { 
     "prefName": "RN", 
     "value": "16" 
    }, 
    { 
     "prefName": "001e", 
     "value": "16" 
    }, 
    { 
     "prefName": "BN", 
     "value": "2-228-32590-2" 
    }, 
    { 
     "prefName": "010a", 
     "value": "2-228-32590-2" 
    }, 
    { 
     "prefName": "SS", 
     "value": "d" 
    }, 
    { 
     "prefName": "100b", 
     "value": "d" 
    }, 
    { 
     "prefName": "PY", 
     "value": "1975" 
    }, 
    { 
     "prefName": "100c", 
     "value": "1975" 
    }, 
    { 
     "prefName": "LA", 
     "value": "fre" 
    }, 
    { 
     "prefName": "101a", 
     "value": "fre" 
    }, 
    { 
     "prefName": "CO", 
     "value": "fra" 
    }, 
    { 
     "prefName": "102a", 
     "value": "fra" 
    }, 
    { 
     "prefName": "KW", 
     "value": "Ekole et psychologie individuelle comparee" 
    }] } 

::私は私のelasticsearchでこのように構造化文書持つ ので

{ 
"pref1": "(prefixName - value)", 
"pref2": "(prefixName - value)", 
"pref3": "(prefixName - value)", 
"pref4": "(prefixName - value)", 
"pref5": "(prefixName - value)", 
"text1": "(prefix value - value)", 
"text2": "(prefix value - value)", 
"text3": "(prefix value - value)", 
"text4": "(prefix value - value)", 
"text5": "(prefix value - value)", 
"operator1": "(logical OR,AND,NOT)", 
"operator2": "(logical OR,AND,NOT)", 
"operator3": "(logical OR,AND,NOT)", 
"operator4": "(logical OR,AND,NOT)" 
} 

は、私が選んだのために5つのオプションのプレフィックスを持っているが(PREF1、PREF2 ...例えば、RS、RT ..)、 テキストフィールドはその値であり、フレーズプレフィックスと一致する必要があります。問題は、これらのクエリをリンクする4つの論理演算子があることです。誰かが私にこれらのニーズを満たす適切なelasticsearchクエリを構築する方法を指示できますか?ここで

+0

よく私はこれらの論理演算子と接頭辞値との結合の仕方はまだ分かりませんでした。あなたがこれまでに疲れた例をいくつか見せることができますか? – user3775217

+0

検索フォームと説明をimgで投稿しました。 – deadf00d

答えて

0

Search form img

は、検索フォームと結果がdocumetすべきである: は接頭辞AUを持っています - Sheakspeare *とプレフィックス041A - 99CまたはプレフィックスRN - 23とPREFIX LAは、NOT 23

関連する問題