私はElasticSearchで検索操作をしようとしています。しかし、私が検索クエリを呼び出すと、クライアントは他のいくつかのインデックスを指しています(以前はこれを使用していました)。検索クエリの実行中に弾性検索クライアントが別のインデックスを指している
これは私の設定を行う方法です。
のWeb.config:
<appSettings>
<add key="url" value="http://localhost:9200" />
</appSettings>
configvalue1 = ConfigurationManager.AppSettings["url"];
var pool = new SingleNodeConnectionPool(new Uri(configvalue1));
var defaultIndex = "abc";
settings = new ConnectionSettings(pool);
client = new ElasticClient(settings);
if (client.IndexExists(defaultIndex).Exists)
client.DeleteIndex(defaultIndex);
var createIndexResponse =
client.CreateIndex(defaultIndex);
return client;
私はいくつかの検索操作のために、このクライアントを使用しています。 (:ZZZなどのために)
string query = @"{
""query"": {
""bool"": {
""should"": [
{
""match"": {
""title"": {0}
}
},
{
""match"": {
""content"": {0}
}
}
]
}
}};
string a = query.Replace("{0}", "apple");
var callResult = client.LowLevel.Search<string>(a);
私はcallResultチェック
は、私は別のインデックスにインデックスが作成されたドキュメントから結果を取得しています。これに関して何かしなければならないことはありますか?TIA
"a" –
のどこに 'configvalue1'の値がありますか?接続設定のデフォルトインデックスを 'defaultIndex'に設定していないようです。検索呼び出しの 'a'の値は何ですか?インデックス名はどこで設定していますか? –
@RussCam ...私は投稿を編集し、いくつかの値を更新しました。低レベルの検索呼び出し中にインデックス名を追加すると、正しく機能します。その場合、私はまだindexsetをconnectionsettingsに追加する必要がありますか? – ASN