Моя установка solr пропонує лише заглушки слів, а не цілі слова.
Якщо я шукаю диригента, я отримую такі результати:
<int name="conductor">68</int>
<int name="symphoni">51</int>
<int name="no.">46</int>
<int name="rattl">28</int>
Що я хотів би мати:
- симфонічний замість сифонічного
- брязкальце (Саймон Реттл, диригент) замість брязкальця
і так далі.
Повний генерований запит:
select?fl=abstract&facet=true&facet.field=abstract&facetlimit=8&facet.mincount=1&omitHeader=true&qf=content%5E40.0+title%5E5.0+keywords%5E2.0+tagsH1%5E5.0+tagsH2H3%5E3.0+tagsH4H5H6%5E2.0+tagsInline&json.nl=map&q=conductor&start=0&rows=5
Я використовую TYPO3, так що конфігураційний xml можна знайти тут:
https://github.com/subugoe/typo3-solr/blob/master/resources/solr/typo3cores/conf/solrconfig.xml
А схему можна знайти тут:
https://github.com/subugoe/typo3-solr/blob/master/resources/solr/typo3cores/conf/english/schema.xml
Відповіді:
1 для відповіді № 1У вашій схемі є лише два типи полів, і обидва вони виконують роботу із SnowballPorterFilterFactory. Ви можете використовувати a поле копіювання, який не робить стовбурних і використовує це поле для отримання повних слів замість стержневих слів.
1 для відповіді № 2
arun правильний, ця проблема тому, що ви єотримання граней для поля, яке створюється аналізаторами індексів. Я розглянув інші визначення fieldType, надані TYPO3, і textTpell fieldType виглядає багатообіцяючим.
Я б запропонував додати наступне у файл general_schema_fields.xml ..
<field name="abstract_facet" type="textSpell" indexed="true" stored="true" />
<copyfield source="abstract" dest="abstract_facet" />
Вам потрібно буде переіндексувати свої дані, щоб ці зміни набрали чинності, і тоді ви можете виконати наступний запит, який повинен забезпечити вам кращі результати.
select?fl=abstract&facet=true&facet.field=abstract_facet&facetlimit=8&facet.mincount=1
&omitHeader=true&qf=content%5E40.0+title%5E5.0+keywords%5E2.0+tagsH1%5E5.0
+tagsH2H3%5E3.0+tagsH4H5H6%5E2.0+tagsInline
&json.nl=map&q=conductor&start=0&rows=5
Якщо це не повністю задовольняє ваші потреби, я рекомендую перевірити Solr Wiki - Аналізатори, маркери та фільтри маркерів для отримання додаткових вказівок щодо того, як обробляються та зберігаються значення в індексі. Зрештою, можливо, ви захочете створити абсолютно окремий тип fieldType для використання з огранюванням.