Я создал индекс (используя Lucene 2.9), в котором хранятся текстовые сообщения. (документы также содержат некоторые другие метаданные, которые не индексируются, а хранятся). Я использую StandardAnalyzer для анализа этих сообщений. Я пытаюсь запустить некоторые тесты для этого индекса с помощью Solr (я заменил индекс примера приложения своим индексом), чтобы увидеть, какие результаты я получаю от различных запросов.
Когда я попробовал следующий запрос, я получил 0 результатов
"text:happiness"
Однако изменение этого значения на "text:happiness*"
дает мне некоторые результаты. Все они содержат такие термины, как "happiness,", "happiness."
и т. Д. Поэтому я подумал, что это проблема с токенизацией при создании индекса, однако, когда я использовал Luke (инструмент отладки индекса lucene) для выполнения того же запроса (text:happiness)
, я получил точный те же результаты, которые я получаю для счастья * от Solr, что заставило меня поверить, что проблема заключается не в индексации, а в том, как я определяю свой запрос Solr. Я посмотрел на файл solrconfig.xml и заметил, что в нем есть следующая строка (с комментариями), я попытался раскомментировать его, а затем изменил свой запрос на использование «defType = lucene» в дополнение к исходному запросу, но получил те же результаты.
<queryParser name="lucene" class="org.apache.solr.search.LuceneQParserPlugin"/>
У меня очень мало опыта работы с Solr, поэтому любая помощь очень ценится:)