2016-03-31 4 views
0

ich mehrere Textsuche in demselben FeldWie mulitple Textsuche in Elasticsearch tun

zum Beispiel in sub_cat_seo_url Feld Ich mag get ‚Englisch-news‘ und ‚Business-news‘ Filter nach Sprache tun will und

Region

als ich versuchte, wie unten Code ist es nicht

{ 
    "query":{ 
     "filtered":{ 
     "query":{ 
      "query_string":{ 
       "query":[ 
        "english-news", 
        "business-news" 
       ], 
       "fields":[ 
        "sub_cat_seo_url" 
       ] 
      } 
     }, 
     "filter":{ 
      "bool":{ 
       "must":[ 
        { 
        "term":{ 
         "lang":"en" 
        } 
        }, 
        { 
        "term":{ 
         "region":"1" 
        } 
        } 
       ] 
      } 
     } 
     } 
    } 
} 

Für einzelne Textsuche arbeitet es funktioniert gut

{ 
    "query":{ 
     "filtered":{ 
     "query":{ 
      "query_string":{ 
       "query":"english-news", 
       "fields":[ 
        "sub_cat_seo_url" 
       ] 
      } 
     }, 
     "filter":{ 
      "bool":{ 
       "must":[ 
        { 
        "term":{ 
         "lang":"en" 
        } 
        }, 
        { 
        "term":{ 
         "region":"1" 
        } 
        } 
       ] 
      } 
     } 
     } 
    } 
} 

Bitte helfen Sie, was in dem Code geändert hat, Multi Textsuche in demselben Feld (oder Betrieb) zu tun

Dank

Thanigaivelan

Antwort

0

Versuchen Sie, diese aus

{ 
    "query": { 
    "filtered": { 
     "query": { 
     "query_string": { 
      "query": "\"english-news\" AND \"business-news\"", 
      "fields": [ 
      "sub_cat_seo_url" 
      ] 
     } 
     }, 
     "filter": { 
     "bool": { 
      "must": [ 
      { 
       "term": { 
       "lang": "en" 
       } 
      }, 
      { 
       "term": { 
       "region": "1" 
       } 
      } 
      ] 
     } 
     } 
    } 
    } 
} 
+0

nein, es ist funktioniert nicht, wenn ich wie diese "Abfrage" sende: "\" Englisch-News \ "UND \" Business-News \ "", Fehler bekommen, einige Fehler beim Senden, können Sie mir bitte sagen, wie zwei Text senden – Thanigaivelan