2016-09-10 3 views
5

내 HDFS에있는 두 개의 텍스트 문서를 통해 단어를 검색하려면 쿼리 (Solr Admin)를 사용하고 있습니다. 어떻게 단어에서 발견 된 문서의 이름을 검색 할 수 있습니다. 나는이 프로젝트 https://github.com/lucidworks/hadoop-solrSolr- 단어가있는 문서의 이름 검색

내가 bin/solr -e cloud를 사용하여 컬렉션을 만드는 오전과 내가 서버/SOLR/configsets에서 "data_driven_schema_configs"을 사용하고 사용하고/ 디렉토리.

나는 ~/SOLR-6.1.0/서버/SOLR/configsets/data_driven_schema_configs/conf의관리 스키마 내부 <field name="fileName" type="string" indexed="true" stored="true" />를 추가 tryied하고, 또한 의 schema.xml에 이름을 변경할 수 있지만,이에 디렉토리에 비슷한 질문이있는 다른 게시물에서 볼 수 있듯이 <field column="file" name="fileName"/>을 추가 할 dataConfig 파일이 없지만 SolrCloud에서는 볼 수 없으므로 내가 시도하는 것이 맞는지는 알 수 없습니다. 어떤 일이 일어나기 위해서는 어떤 변화가 일어나야하고, 어떤 디렉토리가 필요합니다.

예 : 두 문서에서 모두 찾을 수있는 "greatest"라는 단어를 검색하고 있습니다. 어떻게하면 문서가 모든 결과 인 볼 수 sample1.txt 또는 sample2.txt 당신은 IRC에서이 질문에 언급 할 때 내가 말한

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

같은 일이 :

귀하의 SOLR 스키마를 이름을 저장하고 stored = "true"로 설정된 필드가 있어야하며 색인을 생성 할 때 모든 문서에 해당 값과 함께 해당 필드를 포함해야합니다. 대부분의 스키마 변경에는 전체 다시 색인이 필요합니다. 사람들은 문서를 설명 색인의 전용 필드 인 경우

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

+0

의 .txt 형식의 동일한 책입니다. manged-schema'

+0

그리고이 필드가 존재할뿐만 아니라 인덱싱 프로세스 중에 채워지는 것을 확신합니까? 그리고 색인의 오래된 문서가 해당 필드에 가치를 부여하는 방법은 무엇입니까? 누군가 그것을 거기에 써야합니다. 이제 스키마 확장 후에 인덱스를 다시 작성 했습니까? – cheffe

+0

@elyograg 그 뜻은 무엇입니까? "색인을 생성 할 때 모든 문서에 해당 값과 함께 해당 필드를 포함시켜야합니다." –