full text search
ElasticSearchとしています。私はQuery String Queryを使用しています。私はMulti Field機能で検索しています。ElasticSearch:複数のフィールドを持つquery_stringによる全文検索
私のクエリは以下のようになります。
{
"query": {
"query_string": {
"fields": [
"field1^5",
"field2^5",
"field3^1",
"field4^1",
...................
...................
],
"query": "....",
"default_operator": "OR",
"analyzer": "standard"
}
}
}
私は私のコレクションに複数30 fields
を持っています。私の要求では、まずfieldA
,fieldB
を検索する必要があります。したがって、これらのフィールドはhigher priority
になります。その他のフィールドはすべてlow and equal priority
です。
だから、私はspecify all the field names in the query
に何か方法がありますか?より高い優先度のフィールド、つまりfieldA
、fieldB
を指定するだけです。しかし、検索は優先順位に基づいてすべてのフィールドで実行する必要があります。
これをどのように達成できますか?
質問が分かりませんでした。 @oblivion –
@DivyeshGausvami要するに、私は複数のフィールドでフルテキスト検索を実行したいと思う。これらのフィールドのうち、2つは非常に優先順位が高く、最初に一致させる必要があります。だから、クエリでは、私はそれらの2つのフィールドが高いブースト値を与えることによってのみ指定したい。これらの2つのフィールドがクエリに一致しない場合は、他のフィールドだけが一致する必要があります。ここでは、常にクエリのすべてのフィールドを指定する必要がありますか?クエリの優先度の低いフィールドをすべて一覧表示する必要はありません。 – oblivion
'{ "クエリ":{ "multi_match":{ "クエリ": "検索文字列"、 "フィールド": "フィールド1"、 "フィールド2"、...、 "フィールドN"]} } } ' これはお役に立ちましたか?私は正しい? –