gpt4 book ai didi

zend-framework - Zend : index generation and the pros and cons of Zend_Search_Lucene

转载 作者:行者123 更新时间:2023-12-04 07:00:45 26 4
gpt4 key购买 nike

我以前从未遇到过像 Zend Search Lucene 这样的应用程序/类,因为我一直在查询我的数据库。

Zend_Search_Lucene operates with documents as atomic objects for indexing. A document is divided into named fields, and fields have content that can be searched.

A document is represented by the Zend_Search_Lucene_Document class, and this objects of this class contain instances of Zend_Search_Lucene_Field that represent the fields on the document.

It is important to note that any information can be added to the index. Application-specific information or metadata can be stored in the document fields, and later retrieved with the document during search.



所以这基本上是说我可以将它应用于任何东西,包括数据库,这里的关键是为搜索创建索引。

我想要掌握的是我应该在我的应用程序中确切存储索引的位置,例如我们将手机存储在数据库中,制造商,型号 - 我应该如何对索引进行分类?

如果我正在制作用户索引,我显然不希望它们被公开查看,我只是对这一切如何一起工作感到困惑,如果有已知的缺点,我在使用时应该知道的任何问题它。

最佳答案

Lucene 索引存储在数据库之外。我会将它作为 Controller 、模型和 View 的姐妹存储在“数据”目录中。但是你可以将它存储在任何地方;打开索引查询时只需要指定路径即可。

它基本上是存储在数据库中的文档的冗余副本,您必须自己保持同步。这是缺点之一:您必须编写代码以根据对数据库的查询结果填充 Lucene 索引。在向数据库中添加数据时,您还必须更新 Lucene 索引。

使用外部全文索引解决方案的一个优点是可以减少 RDBMS 上的工作量。要查找文档,您可以使用 Lucene API 执行搜索。结果应包括一个包含主键值的字段(作为文档的一部分,但无需对其进行分析以进行 FT 搜索)。当您执行 Lucene 搜索时,您会返回此字段,以便您可以在数据库中查找相应的行。

这有助于回答你的问题吗?

我最近为 MySQL 大学做了一个比较全文搜索解决方案的演讲:
http://forge.mysql.com/wiki/Practical_Full-Text_Search_in_MySQL

我还在 http://www.SlideShare.net/billkarwin 上发布了我的幻灯片.

关于zend-framework - Zend : index generation and the pros and cons of Zend_Search_Lucene,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1882887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com