2017-02-20 8 views
0

У меня есть следующий запрос запроса объемного звучания в содержимом поля solr.Поиск нескольких полей с использованием Surround Query Parser?

_query_:"{!surround maxBasicQueries=10000} content:5N(tru*,(equi* OR and*)) 

Как отправить запрос ORed или ANDed с несколькими полями. Возможно ли это с помощью Surround QueryParser? где я могу искать два поля одновременно.

запрос: "{! Окружать maxBasicQueries = 10000} И (содержание: 5N (TRU * (оборудов * OR и *)), примеры: 10N (эм * рит *))

+0

Что ты имеешь в виду? Что-то вроде '5N (content: tru *, (content: equi * OR otherfield: and *))' не имеет никакого смысла (не может быть в пяти словах, если он находится в совершенно другом поле), так что вы находясь в поиске? – femtoRgon

+0

@femtoRgon обновил вопрос с помощью подробного примера. Его в основном моя потребность в поиске нескольких полей в одном окружении. – Yauza

ответ

0

You может просто выдавать два запроса объемного звучания, по одному для каждого поля, тогда вы можете комбинировать их по своему усмотрению. Помните, что вы можете использовать split parts of queries into separate variables.

Кроме того, вы, кажется, используете подстановочные знаки для создания префиксных запросов. Возможно, вы захотите посмотреть на использование EdgeNGrams filter вместо этого на этапе индексирования. Это делает ваш индекс большим, но поиски быстрее.

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