我是Solr的新手,我想知道它如何索引文档。
假设我有一个装满文本的100 MB文档(document1)。文本不是结构化的,只是原始文本。我将该文件发送给Solr以便编入索引。
据我了解,Lucene将解析文档,根据默认模式提取所有单词(假设我们使用的是默认模式),并创建一个基本上是单词和一份文件清单,如下:
word1 - >的 [文档1]
word2 - >的 [文档1]
等
现在,如果我想搜索“word1”这个词,Solr会给我整个100 MB的文档,其中包含单词“word1”,正确
如果我错了,请纠正我,我需要准确理解它是如何运作的。
答案 0 :(得分:1)
你描述的大部分索引部分都没问题,至少在高级别。原因,为什么你要把所有文件都归还 - 这是因为你的字段在你的Solr模式中是stored一个(默认情况下至少是真的)
这意味着,除了有帖子列表之外 word1 - > doc1,doc3 word2 - > doc2,doc3 等
Solr / Lucene还存储了该字段的原始内容,因此它可以将其返回给您。您可以通过在模式中说出stored=false
或在fl部分中将其过滤掉,只需请求fl=id
(或类似的内容)来明确地将其关闭
如果您只想返回部分文档,只搜索部分文档,则可以使用Solr Highlighting feature来完成。 Solr中的突出显示允许与查询响应一起包含与用户查询匹配的文档片段。