【发布时间】:2016-05-16 12:27:48
【问题描述】:
我正在构建一个简单的地址数据库。有一个名为Address 的类,其中地址被分解为字段(街道、城市、州、ZIP)。每个字段都是String类型的。
我希望能够通过地址中的任何单词来搜索地址。例如:查找地址,无论搜索词是在街道名还是城市名等。 换句话说,我希望用户能够轻松搜索,而无需指定他们感兴趣的地址部分。
所以我使用以下命令创建了一个索引:
create index Address.full on Address(street,city,state,ZIP) fulltext engine lucene
但是当我执行以下查询时,我没有得到任何结果或错误消息:
select * from Address where Address.full lucene "4*"
=> 没有结果,应该是 2 条邮政编码分别为 46250 和 46256 的记录
select * from Address where ZIP lucene "4*"
=> 获取错误消息:“无法在没有索引配置的情况下评估 lucene 条件。”
select * from index:Address.full where key lucene "4*"
=> 没有结果
另外:
select count(*) from index:Address.full => 返回 0 作为计数,这意味着由于某种原因 Lucene 不创建索引。创建索引时没有错误信息。
我怎样才能做到这一点?
有没有办法调试查询为什么没有结果?
【问题讨论】: