If I check GET myindex/mytype/342
Nothing is found. I suppose there is a name conflict and Lucene erroneously finds "id" of a nested object (category from a list) and erroneously assumes that it is an ID of a whole document. Is that possible? Is "id" string is reserved word for Lucene? Regards, Vadim Gindin On Wed, Dec 27, 2017 at 12:43 PM, Vadim Gindin <vgin...@detectum.com> wrote: > Hi all. > > I've written a simple plugin, that implements custom scoring logic and > extending `Explanation`. I have some real index data that looks like this: > > "_source": { > "price": 10000, > "params_model": "Дверь задняя правая Honda CR-V", > "categories": [ > { > "id": 3, > "shop_category_id": "3", > "name": "Кузов наружные элементы", > "level": 1 > }, > { > "id": 342, > "shop_category_id": "62", > "name": "Дверь задняя правая", > "level": 2 > } > ], > "params_vendor": "Honda", > } > > My plugin remembers the document id (that was matched in scorer) to a > collection. When explain(id) is called it checks specified id in this > collection and outputs "matched"/"not matched". > > The questions. > 0. This document is founded by the plugin, but explain(id) method takes > the wrong ID. Why? It happens in the real installation, but in the test > case - it works fine. > 1. ID=342 and others come to explain(id) method. Note, it is not a > document id - it is ID of the nested object (category). Why does it happen? > 2. I have a test case, based on ESIntegTestCase. It works fine with this > document. But this document is not founded in the real index. > > Regards, > Vadim Gindin >