我在我的网站上实现了Zend Search (Lucene)框架,其中包含了产品的价格索引。
我试着让顾客搜索一些东西,同时竞争价格。例如:搜索5-10美元之间的“狗粮”。
我的搜索索引如下所示:
关键字(‘name’)
关键字(‘price’)
假设数据库中有2个项目(名称和价格)
“狗粮”10
‘'dot’11
如果我执行以下搜索,我会得到两个结果。
狗到15岁名字: price1
这正是我想要的。
但是,如果我将范围更改为price5到15,则不会得到任何结果。有没有人能帮我理解一下如何调试?这种行为在我的web实现和Luke中都会发生。
发布于 2009-09-30 11:56:07
事情是这样的: Lucene中的这些值被表示为字符串,并按字典顺序排序。因此,您需要用零来填充它们。假设最高价格是999美元,您需要以三位数字符串的形式插入每个价格: 001,005,015等。然后,您的查询将是:
price:[005 TO 015] name:dog这应该行得通。
https://stackoverflow.com/questions/1496783
复制相似问题