Как я могу указать при создании индекса, что одно поле должно получать больше релевантности, чем другое поле?Индекс Cloudant Lucene с различной релевантностью по полю
Пример: У меня есть документы с заголовком и полем описания и вы хотите, чтобы содержимое поля заголовка было более важным во время запроса.
doc1: Название: "Привет, мир", описание: "Только приветствие" doc2: Название: "Привет", описание: "Привет всем Привет, привет"
индекс ("по умолчанию" , doc.title); индекс ("default", doc.description);
Поиск термина «привет» должен возвращать doc1 с более высокой релевантностью, чем doc2, потому что слово «привет» присутствует в поле заголовка, хотя doc2 содержит слово 3 раза.
Как это можно сделать?
Спасибо, Глинн. Это звучит как вариант. Конечно, мой индекс по умолчанию использует данные из более чем 10 различных полей, что делает запрос довольно длинным, когда я должен добавить их все. Может быть, что-то вроде этого может работать: 'q =" hello "ИЛИ (title:" hello ")^100' –
Да, Glynn, это хорошо работает для отдельных слов, но быстро становится сложным с несколькими поисковыми терминами. 'q = hello world OR ((title: hello)^100 OR (title: world)^100)' Если я ищу точную строку, мне нужно разбить их на отдельные комбинации полей. В противном случае для полевого сейкра используется только первое слово. –
Это должно быть 'q = hello AND world OR ((title: hello)^100 AND (title: world)^100)' –