2016-09-10 39 views
5

我正在使用查詢(Solr Admin)通過HDFS中的兩個文本文檔搜索單詞。我怎樣才能檢索到該字中找到的文件的名稱。我使用這個項目https://github.com/lucidworks/hadoop-solrSolr檢索找到該單詞的文檔名稱

我使用bin/solr -e cloud創建集合,我使用「data_driven_schema_configs」服務器/ Solr的/ configsets/目錄。

我tryied加入<field name="fileName" type="string" indexed="true" stored="true" />託管模式〜/ Solr的-6.1.0 /服務器/ Solr的/ configsets/data_driven_schema_configs/conf目錄,並改變它的名字到schema.xml中,但在這目錄中沒有任何dataConfig文件要添加<field column="file" name="fileName"/>,因爲我在其他一些類似問題的帖子中看到它,但不是SolrCloud,所以我不知道如果我正在嘗試是正確的。我必須做些什麼改變,以及在哪些目錄中才能做到這一點。

示例:我正在搜索可以在兩個文檔中找到的單詞「最大」。我如何能在其中看到文件是每一個結果,sample1.txtsample2.txt

enter image description here

+2

如果這是你的指數成員中唯一的字段描述文件,你不能。你是如何生成索引文件的?這些'id'值似乎是來自文檔的實際文本,而不是合適的唯一ID。 – MatsLindh

+0

我正在使用這個項目https://github.com/LucidWorks/hadoop-solr @MatsLindh –

+0

你應該在詢問之前開始閱讀Solr基礎知識。正如@MatsLindh所說,第一件事是你應該爲'id'字段提供合適的唯一ID。文檔中的實際文本應該在禁用文本字段中編入索引,請參見[Solr字段類型](https://cwiki.apache.org/confluence/display/solr/Solr+Field+Types)。另外,如果您想要匹配文檔的名稱,爲什麼不索引和存儲文檔的名稱? – EricLavault

回答

3

同樣的事情時,你提到的IRC這個問題,我說:

你Solr模式必須包含放置名稱的字段,並將其設置爲stored =「true」,並且在索引時必須在每個文檔中包含該字段和相關值。大多數模式更改都需要完整的重新索引。

https://wiki.apache.org/solr/HowToReindex

+0

.txt格式的相同書籍,我在manged-schema中添加了這一行:'在這個目錄下:'/solr-6.1.0/server/solr/configsets/data_driven_schema_configs/conf'就是你的意思嗎? –

+0

您是否確定該字段不僅存在,而且在索引過程中也填滿了?你的索引的舊文檔應該如何爲該領域帶來價值?有人需要把它寫在那裏。此後,您是否在架構擴展之後重新編制索引? – cheffe

+0

@elyograg你是什麼意思「,你必須在索引時在每個文檔中包含該字段和相關值。」 –