如何使用提升权重搜索多个字段?

时间:2018-04-16 06:45:14

标签: elasticsearch nest

目前我正在使用它:

 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));

0 个答案:

没有答案