elasticsearch - Lucene/Solr 搜索文档创建
问题描述
我正在使用 Lucene 在网站上构建搜索功能。我想了解以下内容以更清楚
- 每当创建一个新网页时,我是否每次都必须在 lucene 中创建一个具有字段的等效文档?
- 任何关于 lucene 文档外观的屏幕截图/图像/图表?
- 建立倒排索引后,它是存储在 DB 中还是作为 json 存储?
- 是否应该根据我们的业务关键字手动制作自动更正词典?
解决方案
这些分别是对您的问题的回答:
- 当然是; 一旦您添加或创建了一个文档(这里是一个网页),您就应该对其进行索引,以便在您希望时立即对其进行搜索。
- Lucene 的文档是现实世界中的概念。因此,单个文档是指包含文档的一组字段(例如,网页是包含“标题”、“正文”、“标签”和“评论”的文档)。因此,为了使该文档可搜索,我们创建了一个 lucene 文档并告诉 Lucene 对其进行索引。如果您熟悉编程,Lucene 文档网是一个
class
具有某些领域的。
- 是的,当然,但不存储在 json 中。有一组文件构成索引。从一个角度来看,它看起来像 json(因为它存储在 HDD 上)但不是真正的 json。它由这些格式组成(segments.gen、segments_N、write.lock、.cfs、.fnm 等,您可以在此处结帐)
- 您可以添加自己的字典校正器,同时使用默认的。
推荐阅读
- javascript - 迭代对象数组以合并新对象
- java - Compose mail click not working in selenium
- php - 当我点击我的个人资料时如何恢复我随机发布的用户以在我返回php时再次显示它们
- python - 如何使用来自csv的spark中的python在地图上可视化数据?
- java - 在 Spring 上,如何使用 JPA 和复合键(分区键和排序键)查询 DynamoDB 表?
- php - 在 Laravel 中使用 if else 条件在主布局中使用外部 css 和 js 是否更好?
- javascript - 如果另一列包含目标词,则从一个表列中抓取数据
- java - 当接口中有一种方法时,如何将java中的lambda函数转换为kotlin?
- rust - 期望 `T: Read` 或 `T: Write` 的泛型函数如何接受参数 `&mut T`?
- html - 在 Bootstrap 4 中在哪里编写自定义 SCSS