Как настроить SOLR для стемминга

Я изучаю solr и использую solr-5.3.0. Я хочу включить общие стеммеры в solr. Я следовал этому учебнику. Но после внесения изменений в schema.xml при поиске термина я не получил желаемого результата. ТАКЖЕ, есть много schema.xml, и я не уверен, какой из них редактировать.

{
"responseHeader": {
    "status": 0,
    "QTime": 1,
    "params": {
        "indent": "true",
        "q": "HOLIDAY",
        "_": "1441115332479",
        "wt": "json"
    }
},
"response": {
    "numFound": 2,
    "start": 0,
    "docs": [
        {
            "id": "1234",
            "name": [
                "A lovely winter holiday"
            ],
            "_version_": 1511117845476409300
        },
        {
            "id": "1235",
            "name": [
                "A lovely summer holiday"
            ],
            "_version_": 1511118023312801800
        }
    ]
  }
}

когда я искал holidays, это не дало никакого результата. Я добавил это в schema.xml.

<fieldType name="text" class="solr.TextField" omitNorms="false">
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" tokenizerFactory="solr.StandardTokenizerFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>

person user4974500    schedule 01.09.2015    source источник
comment
какая конфигурация использовалась вами для вашего ядра...?   -  person Abhijit Bashetti    schedule 01.09.2015
comment
Я добавил ядро ​​с именем new_core в админку ядра. Больше ничего не указывал в конфигурации.   -  person user4974500    schedule 01.09.2015
comment
Я новичок в solr. Начал только сегодня.   -  person user4974500    schedule 01.09.2015
comment
в вашем индексном тексте есть слово праздники ..? потому что, если бы я попробовал это в инструменте анализа solr, и он получил бы совпадение... Я думал, что PorterStemFilterFactory вызывает проблему, но это не так..   -  person Abhijit Bashetti    schedule 01.09.2015
comment
После изменения схемы вы заново создали свой индекс, верно? Потому что вам почти всегда нужно выбросить его и создать новый при изменении схемы.   -  person cheffe    schedule 01.09.2015


Ответы (1)


попробуйте с полем ниже....

<fieldType name="text" class="solr.TextField" omitNorms="false">
    <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StandardFilterFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
    <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StandardFilterFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" tokenizerFactory="solr.StandardTokenizerFactory"/>
    </analyzer>
    </fieldType>
person Abhijit Bashetti    schedule 01.09.2015
comment
Мне нужно отредактировать эти изменения в schema.xml? Но существует много файлов schema.xml. Кроме того, при создании ядра, когда я пытаюсь указать другое имя для schema.xml, ничего не создается. - person user4974500; 01.09.2015
comment
нет, я не думаю, что вам нужно внести какие-либо изменения в файл схемы... Я думал, что ваш тип поля неверен. поэтому я удалил PorterStemFilterFactory. Но я попробовал использовать PorterStemFilterFactory в инструменте анализа solr, и кажется, что fieldType в порядке. Мой вопрос: вы использовали инструмент анализа solr? - person Abhijit Bashetti; 01.09.2015
comment
Нет, я не использовал инструмент анализа solr. Я запрашиваю от Query - person user4974500; 01.09.2015
comment
PorterStemFilterFactory помогает удалить общие окончания слов... например, прекрасный для любви.... и вы использовали то же самое в индексе и запросе. Так что я не вижу никаких проблем - person Abhijit Bashetti; 01.09.2015
comment
попробуйте инструмент анализа, зайдя на localhost:8983/solr...if, у вас есть созданное ядро ​​localhost:8983/solr/core_name - person Abhijit Bashetti; 01.09.2015
comment
В Analyze Fieldname/FieldType нет записи типа: text, которую я добавил в schema.xml. - person user4974500; 01.09.2015
comment
вы видели text_en fieldType... взгляните на этот учебник, вы получите основную идею... yonik.com /solr-учебник - person Abhijit Bashetti; 01.09.2015
comment
Да, сейчас я ищу в инструменте анализа, но имя типа поля text там отсутствует. - person user4974500; 01.09.2015
comment
я проверил в типах text_en есть. - person user4974500; 01.09.2015
comment
хорошо... вы пытались добавить значение поля для индекса и запроса... проверьте то же самое - person Abhijit Bashetti; 01.09.2015