/ / solr не пропонує повних слів - solr, autosuggest

solr не пропонує повних слів - solr, autosuggest

Моя установка 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 для використання з огранюванням.