Indeks Solr menghapus stopwords sepertinya tidak berhasil

Saya ingin menghapus stopwords dari indeks saya selama pengindeksan dan kueri, tetapi entah bagaimana kata-kata di dalam stopwords.txt sepertinya tidak dihapus dari indeks saya (saya masih dapat menggunakannya dalam kueri dan mendapatkan hasil yang tepat dengannya).

Ini skema.xml saya:

    <fieldType name="text" class="solr.TextField"         positionIncrementGap="100">
          <analyzer type="index">
            <tokenizer class="solr.StandardTokenizerFactory"/>
            <!-- in this example, we will only use synonyms at query time
            <filter class="solr.SynonymFilterFactory"         synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
            -->
            <filter class="solr.LowerCaseFilterFactory"/>
            <filter class="solr.StopFilterFactory"         ignoreCase="true"         words="stopwords.txt" />
            <filter class="solr.WordDelimiterFilterFactory"         generateWordParts="1" generateNumberParts="1" catenateWords="1"         catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>        
            <filter class="solr.KeywordMarkerFilterFactory"         protected="protwords.txt"/>
            <filter class="solr.KStemFilterFactory"/>
            <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
          </analyzer>
          <analyzer type="query">
            <tokenizer class="solr.StandardTokenizerFactory"/>
            <filter class="solr.SynonymFilterFactory"         synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
            <filter class="solr.LowerCaseFilterFactory"/>
            <filter class="solr.StopFilterFactory" ignoreCase="true"         words="stopwords.txt" />
            <filter class="solr.WordDelimiterFilterFactory"         generateWordParts="1" generateNumberParts="1" catenateWords="0"         catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>        
            <filter class="solr.KeywordMarkerFilterFactory"         protected="protwords.txt"/>
            <filter class="solr.KStemFilterFactory"/>
            <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
          </analyzer>
        </fieldType>
      <field name="_version_" type="long" indexed="true" stored="true"/>
      <field name="id" type="string" indexed="true" stored="true"         required="true" multiValued="false" />
      <field name="post_content" type="text" indexed="true"         stored="true"/>
      <field name="post_title" type="text" indexed="true" stored="true"/>
      <field name="post_date" type="date" indexed="true" stored="true"/>
      <field name="_text_" type="text" indexed="true"         stored="false"          multiValued="true" termVectors="true"                 termPositions="true" termOffsets="true"/>

Saya menggunakan Solr 6.0.

Terima kasih atas sarannya,

Sabine


person S.Berg    schedule 29.08.2016    source sumber
comment
Apakah file dengan nama yang sama ada? Apakah Anda memiliki kata-kata itu di file stopwords.txt?   -  person Abhijit Bashetti    schedule 29.08.2016
comment
Maaf mengganggu komunitas - Saya memecahkan masalahnya sendiri dengan menambahkan format=snowball   -  person S.Berg    schedule 29.08.2016
comment
tidak masalah...mungkin bisa membantu orang lain... :)   -  person Abhijit Bashetti    schedule 29.08.2016


Jawaban (1)


Secara default, file stopwords.txt tidak memiliki kata-kata berhenti di dalamnya.

Anda dapat memeriksa hal yang sama di salah satu configSet yang diberikan oleh Solr.

Namun jika Anda cek pada folder conf/lang, Anda akan menemukan banyak file stopword.

Anda dapat menggunakan mana saja yang sesuai dengan bahasa Anda.

Untuk tujuan pengujian Anda dapat menyalin stopwords dari file stopwords_en.txt dan menempelkannya di file stopward.txt di jalur configsets/basic_configs/conf/. Di sini konfigurasi mungkin berbeda untuk Anda. Tergantung yang mana yang Anda gunakan.

person Abhijit Bashetti    schedule 29.08.2016