2016-09-10 19 views
5

HDFS'mdeki iki metin belgesiyle arama yapmak için sorgular (Solr Admin) kullanıyorum. Nasıl kelimesi bulunan dokümanın adını alabilir. Bu projeyi https://github.com/lucidworks/hadoop-solrSolr-Kelimenin bulunduğu belgenin adını al Burada

Ben bin/solr -e cloud kullanarak topluluğu oluşturma ve ben sunucu/Solr/configsets gelen "data_driven_schema_configs" kullanıyorum kullanıyorum/ dizini.

Ben ~/Solr-6.1.0/sunucu/Solr/configsets/data_driven_schema_configs/conf de yönetilen-şema<field name="fileName" type="string" indexed="true" stored="true" /> ekleyerek tryied ve ayrıca schema.xml için isim değiştirmek, ancak bunda dizinde <field column="file" name="fileName"/> eklemek için herhangi bir dataConfig dosyası yok, benzer sorulara sahip başka yayınlarda görüyorum ama SolrCloud için değil, bu yüzden denediğimin doğru olup olmadığını bilmiyorum. Hangi değişiklikleri yaparsınız ve hangi dizinlerde, bunu yapabilmem için, yapmak zorundayım.

Örnek: Her iki belgede bulunan "en büyük" sözcüğünü arıyorum. Nasıl belge her sonuç olduğu görebilirsiniz sample1.txt veya sample2.txt IRC bu soruyu bahsettiğinde dedim

enter image description here

+2

, yapamazsın. Dizin dosyalarını nasıl oluşturdunuz? Bu 'id' değerleri belgelerin gerçek metni gibi görünüyor ve uygun olmayan kimlikler değil. – MatsLindh

+0

Bu projeyi kullanıyorum https://github.com/LucidWorks/hadoop-solr @MatsLindh –

+0

Sormadan önce Solr temel bilgilerini okumaya başlamanız gerekir. @MatsLindh'in dediği gibi, ilk şey, 'id' alanı için uygun benzersiz kimlikler sağlamanızdır. Belgelerin asıl metni izinsiz bir metin alanına endekslenmelidir, bkz. [Solr Alan Türleri] (https://cwiki.apache.org/confluence/display/solr/Solr+Field+Types). Ayrıca, eşleşen belgelerin adını da istiyorsanız, neden belgelerin adını indekslemiyor ve saklıyorsunuz? – EricLavault

cevap

3

Aynı şey:

Kişisel Solr şema adı koyduğunuz, depolanmış = "true" olarak ayarlayacağınız bir alan içermeli ve indekslediğiniz her belgede ilgili alanı ilgili bir değerle eklemelisiniz. Çoğu şema değişikliği, tam bir reindex gerektirir. o belgeleri açıklayan endekste sadece alanlar ise

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

+0

adresinden .txt biçiminde aynı kitaplardır. Bu satırı ekledim, manged-schema ' ':' /solr-6.1.0/server/solr/configsets/data_driven_schema_configs/conf 'ne demek istediniz? –

+0

Ve bu alanın sadece mevcut değil, aynı zamanda indeksleme işlemi sırasında doldurulduğundan emin misiniz? Ve endeksinizin eski belgeleri bu alana nasıl bir değer katsın? Birisi oraya yazmalı. Bundan sonra, şema uzantısından sonra yeniden indekslendiniz mi? – cheffe

+0

@elyograg Bununla ne demek istiyorsun "ve endekslendiğinde her belgede bu alanı ilgili bir değerle eklemelisiniz." –