検索から 5 つの一致を返すコードがあります。
ブラウザーでクエリを実行すると、5 つの結果が得られます。
http://localhost:9200/_search?q=Testing
SENSE エディターを使用すると、5 つの結果も表示されます。
Server=localhost:9200
POST _search
{
"query": {
"query_string": {
"query": "Testing"
}
}
}
しかし、コントローラー内の私の C# コードは一致を取得できません。私は何が欠けていますか?
Uri localhost = new Uri("http://localhost:9200");
var setting = new ConnectionSettings(localhost);
setting.SetDefaultIndex("videos");
var client = new ElasticClient(setting);
var result = client.Search<SearchHint>(
body => body.Query(
query => query.QueryString(
qs => qs.Query(keys))));
var results = new SearchResults()
{
Results = result.Documents.ToList() <-- this has 0 items
};
編集1:
public class SearchHint
{
public string Id { get; set; }
public string Title { get; set; }
public int NumItems { get; set; }
public bool IsList { get; set; }
public SearchHint(string id, string title, int numItems, bool isList)
{
Id = id;
Title = title;
NumItems = numItems;
IsList = isList;
}
}
編集 2: インデックスには 4 つのタイプがあります (videos\list、videos\video、videos\author、videos\category)。どの検索でも、特定のタイプではなく、すべてのタイプを検索する必要があります。