2011-02-26 31 views
2

我正在使用Umbraco(它建立在Lucene.net之上)进行检查。我很确定我的问题是与Lucene相关的。用Examine和Lucene.Net查询逗号分隔的ID列表?

其中一个字段包含逗号分隔ID列表。我如何以正确的方式查询这个领域?

例如,我有一个值为“64,65”的字段。我试过使用MultipleCharacterWildcard,它只返回一个结果,如果我查询ID 64,但不是ID 65. SingleCharacterWildcard不返回任何内容,而且如果字段中只有一个ID,则只返回一些内容。任何想法如何做一个适当的搜索?我想我正在寻找的是一个“包含” - 查询。

此外,这是正确的方式来处理与逗号分隔列表字段,或者它会更好地将逗号分隔列表拆分成单个字段?

回答

3

我肯定会将列表分成不同的字段。你可以有一个文件,这是表示一组值的相当自然的方式在相同的字段名称的多个值:

venue_id: 12345 
treatment_id_set: 1234 
treatment_id_set: 2345 

有了这样的文件,我可以简单查询“treatment_id_set:1234”到找到所有支持这种治疗的场所。当然,治疗的顺序会丢失。如果您需要恢复它,请在索引单个成员时存储逗号分隔值:

# stored, indexed 
venue_id: 12345 
# stored, not indexed 
treatment_id_list: 1234,2345 
# not stored, indexed 
treatment_id_set: 1234 
treatment_id_set: 2345 
+1

如何使用Umbraco检查设置多个值? – Alex 2016-08-25 16:33:37