2016-10-24 11 views
1

Я пытался заставить вероятностный результат результата в solr. i.e x% (скажем, k/n) результатов страницы имеют атрибут A. Я не уверен, есть ли прямой способ сделать это.Задание вероятностного результата результата в solr

Я пытаюсь изменить подход повторного ранжирования запроса, где-бы я хотел увеличить документы с атрибутом A в первом запросе solr. Это должно гарантировать, что по крайней мере k или более документов с атрибутом A находятся наверху. Затем мне захотелось запустить еще один запрос, который выберет только элементы k, а затем выберет остатки n-k элементов в обычном порядке счета и вернет результат сортировки.

У меня, однако, возникает проблема, что если атрибут А очень частый, то я могу в конечном итоге привести слишком много документов Атрибута А в первый запрос и из-за этого не сможет решить, сколько документов выбрать для запуска второй запрос

Я до сих пор новичок в solr, и, надеюсь, я это переусердствую. Тем не менее, у кого-то из вас была схожая проблема с solr, и для этого было найдено решение с низкой задержкой?

+0

Можете ли вы привести пример того, что будет выше, чем то, что другой элемент и почему в воображаемом наборе данных? –

+0

@LeftyGBalogh Эй, конечно. Итак, если мы приведем свежесть документа в качестве показателя атрибута, то я хочу, чтобы результаты поиска были релевантными, но имели вероятностный оттенок. если мы выведем 10 результатов на страницу, и мы установим вероятность свежести результата равным 0,2, тогда должно быть по крайней мере 2 из тех 10 результатов, которые имеют новый атрибут. Надеюсь это поможет – Sachin

ответ

0

Я думаю, что взвешенный поиск мог бы сделать трюк, если бы я правильно рассмотрел все ваши критерии. Если вы загрузите образцы данных, которые я создал ниже, в демонстрационное ядро ​​и выполните поиск edismax, чтобы вы оценили значение 0,8 и свежесть на 0,2, соответствующие свежие ответы выходят вверху. enter image description here

Поиск URL выглядит следующим образом: http://<solr_server>.us-west-2.compute.amazonaws.com:8983/solr/gettingstarted/select?defType=edismax&indent=on&q=*:*&qf=relevance^0.8%20AND%20freshness^0.2&rows=10&start=0&wt=json

Пожалуйста, обратите внимание, я ограничил к ResultSet первой десятке.

Заголовок ответа с результатами выглядит следующим образом:

{ 
    "responseHeader":{ 
    "status":0, 
    "QTime":6, 
    "params":{ 
     "q":"*:*", 
     "defType":"edismax", 
     "indent":"on", 
     "qf":"relevance^0.8 AND freshness^0.2", 
     "start":"0", 
     "rows":"10", 
     "wt":"json", 
     "_":"1477363414109"}}, 
    "response":{"numFound":35,"start":0,"docs":[ 
     { 
     "id":"1", 
     "name":["JBL Professional Audio"], 
     "relevance":[true], 
     "freshness":[true], 
     "_version_":1549127868117680128}, 
     { 
     "id":"2", 
     "name":["Versatile Multilayer Disc"], 
     "relevance":[true], 
     "freshness":[true], 
     "_version_":1549127868288598016}, 
     { 
     "id":"3", 
     "name":["Key finder"], 
     "relevance":[true], 
     "freshness":[false], 
     "_version_":1549127868290695168}, 
     { 
     "id":"4", 
     "name":["MiniDisc"], 
     "relevance":[true], 
     "freshness":[false], 
     "_version_":1549127868291743744}, 
     { 
     "id":"5", 
     "name":["Entertainment center"], 
     "relevance":[true], 
     "freshness":[false], 
     "_version_":1549127868292792320}, 
     { 
     "id":"6", 
     "name":["TV gateway"], 
     "relevance":[true], 
     "freshness":[false], 
     "_version_":1549127868294889472}, 
     { 
     "id":"7", 
     "name":["Da-Lite Lecterns, Podiums, Racks"], 
     "relevance":[true], 
     "freshness":[false], 
     "_version_":1549127868295938048}, 
     { 
     "id":"8", 
     "name":["American Dynamics CCTV Products"], 
     "relevance":[true], 
     "freshness":[false], 
     "_version_":1549127868301180928}, 
     { 
     "id":"9", 
     "name":["K-box"], 
     "relevance":[true], 
     "freshness":[false], 
     "_version_":1549127868302229504}, 
     { 
     "id":"10", 
     "name":["Wife acceptance factor"], 
     "relevance":[true], 
     "freshness":[false], 
     "_version_":1549127868303278080}] 
    }} 

Образец набора данных, которые вы можете загрузить из документов является следующее:

<add> 
<doc> 
<field name="id">1</field> 
<field name="name">JBL Professional Audio</field> 
<field name="relevance">true</field> 
<field name="freshness">true</field> 
</doc> 
<doc> 
<field name="id">2</field> 
<field name="name">Versatile Multilayer Disc</field> 
<field name="relevance">true</field> 
<field name="freshness">true</field> 
</doc> 
<doc> 
<field name="id">3</field> 
<field name="name">Key finder</field> 
<field name="relevance">true</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">4</field> 
<field name="name">MiniDisc</field> 
<field name="relevance">true</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">5</field> 
<field name="name">Entertainment center</field> 
<field name="relevance">true</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">6</field> 
<field name="name">TV gateway</field> 
<field name="relevance">true</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">7</field> 
<field name="name">Da-Lite Lecterns, Podiums, Racks</field> 
<field name="relevance">true</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">8</field> 
<field name="name">American Dynamics CCTV Products</field> 
<field name="relevance">true</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">9</field> 
<field name="name">K-box</field> 
<field name="relevance">true</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">10</field> 
<field name="name">Wife acceptance factor</field> 
<field name="relevance">true</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">11</field> 
<field name="name">J</field> 
<field name="relevance">true</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">12</field> 
<field name="name">Location awareness</field> 
<field name="relevance">true</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">13</field> 
<field name="name">Hybrid Broadcast Broadband TV</field> 
<field name="relevance">true</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">14</field> 
<field name="name">Comparison of digital media players</field> 
<field name="relevance">true</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">15</field> 
<field name="name">Coupon-eligible converter box</field> 
<field name="relevance">true</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">16</field> 
<field name="name">Crown Audio</field> 
<field name="relevance">false</field> 
<field name="freshness">true</field> 
</doc> 
<doc> 
<field name="id">17</field> 
<field name="name">Q</field> 
<field name="relevance">false</field> 
<field name="freshness">true</field> 
</doc> 
<doc> 
<field name="id">18</field> 
<field name="name">Surround sound</field> 
<field name="relevance">false</field> 
<field name="freshness">true</field> 
</doc> 
<doc> 
<field name="id">19</field> 
<field name="name">Digital Living Network Alliance</field> 
<field name="relevance">false</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">20</field> 
<field name="name">EcoCute</field> 
<field name="relevance">false</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">21</field> 
<field name="name">TV gateway</field> 
<field name="relevance">false</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">22</field> 
<field name="name">List of smart TV platforms and middleware software</field> 
<field name="relevance">false</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">23</field> 
<field name="name">Predicta</field> 
<field name="relevance">false</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">24</field> 
<field name="name">AMX Control Systems</field> 
<field name="relevance">false</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">25</field> 
<field name="name">Batteriser</field> 
<field name="relevance">false</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">26</field> 
<field name="name">Audio equipment</field> 
<field name="relevance">false</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">27</field> 
<field name="name">EcoCute</field> 
<field name="relevance">false</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">28</field> 
<field name="name">Elmo Document Cameras</field> 
<field name="relevance">false</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">29</field> 
<field name="name">Lab Gruppen Audio</field> 
<field name="relevance">false</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">30</field> 
<field name="name">Direct-drive turntable</field> 
<field name="relevance">false</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">31</field> 
<field name="name">Wearable Technology Show</field> 
<field name="relevance">false</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">32</field> 
<field name="name">Power cord</field> 
<field name="relevance">false</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">33</field> 
<field name="name">MiniDisc</field> 
<field name="relevance">false</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">34</field> 
<field name="name">Quattron</field> 
<field name="relevance">false</field> 
<field name="freshness">false</field> 
</doc> 
<doc> 
<field name="id">35</field> 
<field name="name">I</field> 
<field name="relevance">false</field> 
<field name="freshness">false</field> 
</doc> 
</add> 

Является ли это то, что вы имели в виду?