私は 'または'検索と思われるものを返す弾性検索クエリを持っています。弾性検索ネストクライアントはv4.0.30319、弾性検索サーバーはバージョン1.6.0です。 'and'検索は索引 'sc'にあります。 "該当するデータベーステーブルに対して '%Helping%' 'のような'%business% 'や... profileのようなプロファイルが存在しない場合は、クライアントからselect *を実行する同等のSQL文がレコードを返しません。どのように私はブール値の 'と'検索を実行するために、次のクエリやコードを変更するのですか?ElasticSearch.Nestクライアント内でブール値 'and'を検索する
query = 'id:("7ee683c2-19eb-45c6-9ca8-985379ce34dd")
AND role:("User","OrganizationAdmin","SystemAdmin","follower")
AND (
sc:("business*")
and sc:("objectives*")
and sc:("memorable*")
and sc:("Keith*")
and sc:("Lawyer*")
and sc:("accountant*")
and sc:("Helping*"))' ;
result = _client.Search<T>(
t => t.Types(type).Index(_index).Query(
qt => qt.QueryString(qs => qs.Query(query).OnFields(fields))).Filter(
x => x.Range(y => y.From(fromDate).To(toDate).OnField(rangeOnField))
).SortDescending(orderByField).SortDescending("_score").Skip(skipRecord).Take(pageSize));
result.ConnectionStatusには本当に役立つ生弾性検索クエリが含まれていることがわかりました。ベースのクエリを使用して、手でSCのブール基準に追加する
私はコードで起こって奇妙なものがある推測しているので、結果を返しません{
"from": 0,
"size": 100,
"sort": {
"cd": "desc",
"_score": "desc"
},
"query": {
"query_string": {
"query": "id:(\"7ee683c2-19eb-45c6-9ca8-985379ce34dd\") AND role:(\"User\",\"OrganizationAdmin\",\"SystemAdmin\",\"follower\") AND (sc:(\"business*\") AND sc:(\"objectives*\") AND sc:(\"memorable*\") AND sc:(\"Keith*\") AND sc:(\"Lawyer*\") AND sc:(\"accountant*\") AND sc:(\"Helping*\")) ",
"fields": [
"id",
"sc",
"role",
"nm"
]
}
},
"filter": {
"range": {
"cd": {
"from": "19160709",
"to": "21160709"
}
}
}
}
などの生検索条件を与えます。
ここにある例はコンパイルされません。あなたは実例を提供することができますか?また、NESTのどのバージョンを使用していますか、どのバージョンのElasticsearchをターゲットにしていますか? –
私は@RussCamというコードを維持していますので、コンパイル可能なバージョンを取得するとしばらく時間がかかります。私は生の弾性検索json文字列を入手する方法を発見しました。ネストクライアントはv4.0.30319です。弾性検索バージョンは1.6.0 –
ok coolです。 Elasticsearch 1.6.0を使用している場合は、NEST 1.xのマイナーバージョンを使用できますが、常に最新の1.xバージョン(現在は1.8.3 - https://www.nuget)を使用することをお勧めします。 org/packages/NEST/1.8.3。 'ElasticClient.LowLevel'を介して' ElasticClient'でアクセス可能な低レベルのクライアントでは、必要に応じて未処理のjson文字列または匿名の型をリクエストに送信できます - https://www.elastic.co/guide/en/elasticsearch/client /net-api/1.x/building-requests.html –