Мне интересно, возможно ли в Solr 3.4 повысить результат поиска, если запрос найден в специальном поле без использования синтаксиса "fieldname: query".
Позвольте мне объяснить:
У меня есть несколько полей в моем индексе. Один из них называется «аббревиатура» и заполнен текстом, таким как AVZ, JSP, DECT, ...
Чтобы иметь возможность находить результаты при поиске только слова "AVZ", я добавил
<copyField source="abbreviation" dest="text"/>
в моем schema.xml. Поле text - это мой defaultSearchField.
На мой взгляд, это не лучшее решение. Поэтому я пытаюсь выяснить, можно ли искать «AVZ» во всех полях, и если в аббревиатуре полей найдена строка, запись результата должна быть увеличена (при увеличении оценки), чтобы она отображалась в Первая запись в списке результатов. Будет аналогично использованию аббревиатура: AVZ AVZ в качестве запроса.
Еще одна возможность, которую я могу придумать, - проанализировать запрос. И если будет найдена подстрока типа "AVZ", к запросу будет добавлено сокращение: AVZ . Но в этом случае я должен быть в состоянии выяснить, какие сокращения индексируются. Можно ли извлечь все возможные члены поля из индекса Solr, используя SolrJ?
С наилучшими пожеланиями
Tobias