2012-01-30 2 views
2

Я использую solr через sunspot_rails v1.2 gem.Solr WordDelimiterFilterFactory и символы периода

В моем файле schema.xml я следующее:

<fieldType name="text" class="solr.TextField" omitNorms="false"> 
    <analyzer type="index"> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.PorterStemFilterFactory"/> 
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" catenateWords="1" preserveOriginal="1"/> 
    <filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="50" side="front"/> 
    </analyzer> 
    <analyzer type="query"> 
    <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.PorterStemFilterFactory"/> 
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" preserveOriginal="1"/> 
    </analyzer> 
</fieldType> 

Если индекс I строка fir[email protected], я могу найти его, если я ищу example.com, но если я ищу firstname.lastname.

Если я удалю WordDelimiterFilterFactory из настроек запроса, я могу отправить электронное письмо, выполнив поиск firstname.lastname; однако при поиске example.com ничего не возникает.

Как я могу изменить файл конфигурации, чтобы иметь возможность искать по любому из этих способов?

+1

Примечания: Я узнал, что главный вопрос. По-видимому, порядок, в котором перечислены фильтры, имеет значение. Я применял WordDelimiterFilterFactory * после * LowerCaseFilterFactory и, таким образом, индексировал некоторые заглавные слова. – KurtPreston

ответ

1

Вы можете отлаживать как текущий индекс & конфигурации анализа запросов влияют на поисковые запросы, используя Solr Admin Analysis Page, другой вариант заключается в использовании Luke заглянуть в индекс Lucene.

Однако есть альтернатива, которую вы можете исследовать. Так, электронная почта & URL должен обрабатываться особым образом, Lucene имеет вариант StandardTokenizer, который специально занимается Email & URL Lucene Email/URL Tokenizer соответствующего Solr Email/URL Tokenizer Factory

Смежные вопросы