0

我正在使用 Umbraco v.7.6.1 和 Examine v0.1.82 (Lucene 2.9.4.1)。我有一个车辆列表和一个搜索表单来查询不同类型的字段,包括价格。Price 字段是一个数字数据字段,在 ExamineIndex 中定义为:

<add Name="price" Type="INT" />

问题是在搜索价格范围时,我没有结果。使用 Umbraco 后台的检查管理工具进行以下查询:

+price:[50 TO 500000]

即使我有该价格范围内的车辆,也不返回任何结果。

如果我更改检查索引并从价格字段中删除 Type="INT" 标记,则范围查询将作为普通字符串范围查询工作并返回结果。

该查询对所有字符串字段都正常工作。

根据我在文档中阅读的所有内容以及之前关于考试的问题/答案,这应该适用于我正在使用的考试版本。有什么问题?

4

1 回答 1

2

我猜您在将其INT设置ExamineIndex.configIndexUserFields. 如果您通过直接查询,后台将不会显示结果。我面临同样的事情。您必须查询抛出代码,它会显示结果。

<add Name="price" Type="Int" />在配置文件中设置。我希望案例不会有任何问题,例如INTor Int

然后从代码中查询如下

var searcher = Examine.ExamineManager.Instance.SearchProviderCollection["SearcherName"];
var searchCriteria = searcher.CreateSearchCriteria();

var query = searchCriteria.Range("price", 50, 500000, true, true);
var results = searcher.Search(query.Compile());

请在查询前重建索引。

于 2017-08-14T09:06:32.737 回答