目前我正在使用它:
response = await ElasticClient.SearchAsync<Product>(s => s
.From(skip)
.Size(productSearch.ItemsPerPage)
.Index(productSearch.Company + PartOfIndexName + productSearch.Country)
.Query(q => q
.QueryString(c => c
.Fields(f => f
.Field(p => p.IdPart1, 4.0)
.Field(p => p.Title, 4.0)
.Field(p => p.BrandName, 3.0)
.Field(p => p.Description, 2.0)
)
.Query("*" + productSearch.Query + "*")
)
)
);
但这不起作用。没有结果返回。但是我得到了一个有效的响应(调试信息:&#34;在POST&#34上成功进行低级别调用构建的有效NEST响应;)。有谁知道我做错了什么?现在已经好几天了,我仍然无法弄清楚。
当我通过Elasticsearch REST API查询它时:
POST http://localhost:9200/company_products_country/_search
体:
{
"size": 10,
"query": {
"match": {
"title": "something"
}
}
}
然后它有效,我得到了结果。但是如果我在描述字段中搜索类似于:&#34; 787920/1&#34;,那么我就没有结果。 description字段是500字符文本字段。
我索引这样的文件:
ElasticClient.Index(product, idx => idx.Index(indexName));