私はElasticSearch NEST C#クライアントを通して簡単なクエリを実行しています。 httpを介して同じクエリを実行すると結果が得られますが、クライアントから返されたドキュメントはゼロになります。ElasticSearch NESTクライアントが結果を返さない
これは私がデータセットを読み込ま方法です:
curl -X POST "http://localhost:9200/blog/posts" -d @blog.json
このPOSTリクエストは、JSONの結果を返します。
http://localhost:9200/_search?q=adipiscing
これは、私はそれが何かを返していない持っているコードです。
public class Connector
{
private readonly ConnectionSettings _settings;
private readonly ElasticClient _client;
public Connector()
{
_settings = new ConnectionSettings("localhost", 9200);
_settings.SetDefaultIndex("blog");
_client = new ElasticClient(_settings);
}
public IEnumerable<BlogEntry> Search(string q)
{
var result =
_client.Search<BlogEntry>(s => s.QueryString(q));
return result.Documents.ToList();
}
}
何が欠けていますか?事前のおかげで..
おかげでたくさんで
だからNEST検索!今私は正しいマッピングを作っています –
ありがとう、私のモデルの名前がインデックス名と一致しなかったので、私はこれで苦労しました。さらに、オブジェクトイニシャライザ構文を使用している場合、インデックス名は推測されません(デフォルトではすべてのインデックスになります)。それをより明白にする方法があることはいいですね。 (明示的なものよりも明示的な方が良いでしょう) – Giovanni
オブジェクトイニシャライザの構文を使用していても、すべてのインデックスをデフォルトにするべきではありません。 –