Zend Lucene 查询

发布于 2024-12-03 01:38:43 字数 520 浏览 4 评论 0原文

当我在 Lucene 中存储数据时,我添加了这些字段:

$index->addField(Zend_Search_Lucene_Field::Keyword('id', $entry->id));
$index->addField(Zend_Search_Lucene_Field::Keyword('type', $entry->type));

How can make a query toretrieve only data with a certain type?

我尝试过:

 $query = "type IN ('a', 'b', 'c')"; // get data that has either of these types
 $this->query->addSubquery(Zend_Search_Lucene_Search_QueryParser::parse($query), true);

但是没用...

I'm adding these fields when I store data in Lucene:

$index->addField(Zend_Search_Lucene_Field::Keyword('id', $entry->id));
$index->addField(Zend_Search_Lucene_Field::Keyword('type', $entry->type));

How can make a query to retrieve only data with a certain type?

I tried:

 $query = "type IN ('a', 'b', 'c')"; // get data that has either of these types
 $this->query->addSubquery(Zend_Search_Lucene_Search_QueryParser::parse($query), true);

but it doesn't work...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧伤还要旧人安 2024-12-10 01:38:43

好吧,我的解决方案是:

$query = "type:(a) OR type:(b)";

也可以这样写(字段分组):

$query =“类型:(a或b)”;

Well my solution was:

$query = "type:(a) OR type:(b)";

and it is also ok to write it like this (grouping of fields):

$query = "type:(a OR b)";

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文