как искать в определенном поле в solr 4.3.0

В предыдущей версии Solr мы могли выполнять поиск в определенном поле, используя это «имя поля: значение». Теперь это больше не работает в обновленной версии Solr (4.3.0).

Не могли бы вы помочь.

Спасибо.

Схема:

<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.WordDelimiterFilterFactory" protected="protwords.txt" generateWordParts="1" preserveOriginal="1" generateNumberParts="0" catenateWords="1" catenateNumbers="0" catenateAll="0" splitOnNumerics='0' splitOnCaseChange="1"/>
    <filter class="solr.HyphenatedWordsFilterFactory"/>
    <filter class="solr.TrimFilterFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
  </analyzer>

  <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.HyphenatedWordsFilterFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.ArabicNormalizationFilterFactory"/>
    <filter class="solr.ArabicStemFilterFactory"/> 
  </analyzer>
</fieldType>
<fields>
<field name="Poet" type="text_general" stored="true" indexed="true" />
</fields>

Я обнаружил, что если я удаляю «solr.ArabicStemFilterFactory» из анализатора запросов, он работает нормально! так какая между ними связь?!


person Haya aziz    schedule 12.12.2013    source источник
comment
Убедитесь, что желаемое имя поля проиндексировано, если вы хотите увидеть значение, которое оно должно быть сохранено.   -  person vuky    schedule 13.12.2013


Ответы (2)


В этом нет никаких изменений. Вы должны уметь делать fieldname:value. Проверьте свой schema.xml и убедитесь, что у вас определено поле, которое вы ищете. Выполните поиск *:* и просмотрите документы, чтобы увидеть, что у вас есть в документах, чтобы получить представление о ваших данных, полях и их значениях.

person Arun    schedule 12.12.2013
comment
Спасибо, я могу увидеть данные в поле, выполнив поиск *, скопировав один из терминов и вставив его, запрос для поиска дает 0 результатов, я использую арабские буквы, есть ли какая-то специальная кодировка в solr admin, которую я должен использовать ? - person Haya aziz; 15.12.2013
comment
Вы переиндексировали после перехода на новую версию Solr? - person Arun; 15.12.2013
comment
Пожалуйста, не могли бы вы опубликовать свой schema.xml? раздел fields и раздел typefield (чтобы понять, как вы настраиваете все это) - person Dany; 17.12.2013
comment
@Hayaaziz, вы используете dismax или edismax для поиска? Пожалуйста, можете ли вы опубликовать запрос? Обычно, если вы используете dismax, вы должны поместить поле имени в параметр qf. - person Dany; 03.02.2014
comment
Query1: select?q=Poet%3Aعنترة&wt=xml&indent=true ,,,, Query2: select?q=Poet%3Aعنترة&fq=Poet&wt=xml&indent=true ..... тот же результат :( - person Haya aziz; 04.02.2014

обнаружил, что в новой версии нет проблем с поиском по определенному полю, моя проблема была в фильтрации. Благодарность

person Haya aziz    schedule 30.03.2014