Open kkonevets opened 5 years ago
I have found out that Michael Jackson
was not in the body
, only in title
Sorry...
@kkonevets
I expect that documents with title containing Michael Jackson would be on the first line, but they are placed on say 5-th.
This could still be a bug actually. Do you have a screenshot? or a json showing your top 10 docs?
Sure, I query Оксана Лифенко
top 10 when title
and body
are concatenated (in my case body
is text
):
[
[
20.307077,
{
"text": [
"Мастер класс по вязанию крючком для кукол Паола Рейна \"Хозяйка Прерий\" (Оксана Лифенко) https://image.ibb.co/hiiMkz/38206.jpg\nPDF журнал по вязанию кукольного наряда.\nПредназначен для кукол подружки Паола Рейна 32 см (Paola Reina), но может подойти и другим куклам с аналогичными размерами.\nhttp://shop.kasatkadolls.ru/order/prairies/new08"
],
"title": [
"Мастер класс по вязанию крючком для кукол Паола Рейна \"Хозяйка Прерий\" (Оксана Лифенко)"
]
}
],
[
20.039974,
{
"text": [
"PDF мастер класс \"Купальник Ромашки\" для кукол (Оксана Лифенко) https://i.ibb.co/hgyq7rh/x7jje7h EJv Q.jpg\nPDF журнал по вязанию купальника для кукол (10 страниц формата А4)\nОписание предназначено для кукол Galoob Baby Face, но может подойти и другим подобным куклам, например Disney Animators\nhttps://vk.com/market 95724412?w=product 95724412_7031"
],
"title": [
"PDF мастер класс \"Купальник Ромашки\" для кукол (Оксана Лифенко)"
]
}
],
[
20.039974,
{
"text": [
"PDF мастер класс \"Лесная сказка\" для кукол Paola Reina (32 34 см) (спицы) (Оксана Лифенко) https://shop.kasatkadolls.ru/upload/shop/goods/u208928/67018.jpg\n\nВходит:\n\n свитер\n сарафан\n колготки\n свитер с \"косами\"\n шорты\n\nОписание в формате PDF, очень подробное, 100 фото, детальные схемы, а для колготок еще и виде мастер класса!\n\nhttps://vk.com/kasatkadolls"
],
"title": [
"PDF мастер класс \"Лесная сказка\" для кукол Paola Reina (32 34 см) (спицы) (Оксана Лифенко)"
]
}
],
[
19.652239,
{
"text": [
"PDF Мастер класс \"Снежный Ананас\" кукольный наряд крючком (Оксана Лифенко) https://a.radikal.ru/a21/1905/ae/7172e77d7bbb.jpg\nPDF журнал по вязанию кукольного наряда. В описание входит платье, берет и туфельки (17 страниц формата А4, может быть напечатано на любом принтере).\nОписание предназначено для кукол Galoob Baby Face, но может подойти и другим подобным куклам.\nhttps://vk.com/market 95724412?w=product 95724412_7196"
],
"title": [
"PDF Мастер класс \"Снежный Ананас\" кукольный наряд крючком (Оксана Лифенко)"
]
}
],
[
19.526306,
{
"text": [
"PDF мастер класс \"Сакура\" для кукол Galoob Baby Face (Оксана Лифенко) https://i.ibb.co/y00bNL4/jvx Vq9 Nqd Kk.jpg\nPDF журнал по вязанию платья, повязки на голову, трусиков и подъюбника, МК по вязанию с бисером. Описание состоит из 9 страниц формата А4 и может быть напечатано на любом принтере.\nОписание предназначено для кукол Galoob Baby Face, но может подойти и другим подобным куклам.\nhttps://vk.com/market 95724412?w=product 95724412_7133"
],
"title": [
"PDF мастер класс \"Сакура\" для кукол Galoob Baby Face (Оксана Лифенко)"
]
}
],
[
19.038311,
{
"text": [
"PDF и Видео Мастер Класс \"Кеды для куклы\" для кукол Paola Reina Паола Рейна(32 34cм)(Оксана Лифенко) PDF журнал и ВИДЕО урок по вязанию кед крючком.\n\nПредназначен для кукол подружки Паола Рейна 32 см (Paola Reina), но может подойти и другим куклам с аналогичными размерами.\nЖурнал содержит более 30 ти пошаговых фото и описание работы.\nДетальный видео урок.\n\n\nhttps://sun9 29.userapi.com/c845018/v845018656/194838/fSHAZhGvsv8.jpg\n\n\nhttps://vk.com/market 95724412?w=product 95724412_2940862"
],
"title": [
"PDF и Видео Мастер Класс \"Кеды для куклы\" для кукол Paola Reina Паола Рейна(32 34cм)(Оксана Лифенко)"
]
}
],
[
19.038311,
{
"text": [
"PDF Мастер класс \"Березка\" для кукол Paola Reina (Оксана Лифенко) https://i.ibb.co/N2zNtqM/gfu572 ZIq M0.jpg\nPDF журнал по вязанию кукольного наряда.\nВ описание входит платье, шляпка, трусики и сумочка.\nОписание продается в формате PDF, состоит из 20 страниц формата А4 и может быть напечатано на любом принтере.\nОписание составлено очень подробно, с пошаговыми фото, некоторые моменты проиллюстрированы и схематично (шляпка, пояс, кайма).\nhttps://vk.com/market 95724412?w=product 95724412_11422/query"
],
"title": [
"PDF Мастер класс \"Березка\" для кукол Paola Reina (Оксана Лифенко)"
]
}
],
[
18.574118,
{
"text": [
"PDF мастер класс \"Мисс Санта для Барби\" (Оксана Лифенко) https://i.ibb.co/9YcxQ0z/YWU0 IYkm XI.jpg\n\nPDF журнал по вязанию для кукол типа Барби. В описание входит платье, кофта и шапка, техника вязания крючком с бисером.\nОписание продается в формате PDF, состоит из 9 страниц формата А4 и может быть напечатано на любом принтере. После оплаты, я вышлю Вам описание на Ваш e mail (пожалуйста, указывайте при оплате). Если Вы желаете уже напечатанное описание, свяжитесь со мной.\nОписание предназначено для кукол Барби , но может подойти и другим подобным куклам.\nhttps://vk.com/market 95724412?w=product 95724412_7195"
],
"title": [
"PDF мастер класс \"Мисс Санта для Барби\" (Оксана Лифенко)"
]
}
],
[
18.574118,
{
"text": [
"PDF Мастер Класс \"Морячок\" (Оксана Лифенко) https://i.ibb.co/pzvHrDN/I3d U T6 Gg TM.jpg\nhttps://i.ibb.co/NFrb6v6/N0ls Z9nwjb U.jpg\nВ описание входит штаны, кофта, берет, матросский воротник. Описание продается в формате PDF, состоит из 12 страниц формата А4 и может быть напечатано на любом принтере.\nОписание предназначено для кукол BJD RealPuki от FairyLand, но может подойти и другим подобным куклам. Также вы можете вязать этот наряд из обычной пряжи, и он подойдет для куколок побольше.\nhttps://vk.com/market 95724412?w=product 95724412_2212"
],
"title": [
"PDF Мастер Класс \"Морячок\" (Оксана Лифенко)"
]
}
],
[
18.350407,
{
"text": [
"PDF мастер класс \"Баратцы\" (Оксана Лифенко) https://i.ibb.co/gm447GW/7f ZUzq IELa8.jpg\nPDF журнал для миниатюрного вязания. В описание входит платье, берет, трусики и гетры. Описание продается в формате PDF, состоит из 11 страниц формата А4 и может быть напечатано на любом принтере. После оплаты, я вышлю Вам описание на Ваш e mail (пожалуйста, указывайте при оплате).\nОписание предназначено для кукол BJD RealPuki от FairyLand (рост кукол 9,5 см), но может подойти и другим подобным куклам. Также вы можете связать этот наряд из обычной пряжи, и он подойдет для куколок побольше.\nhttps://vk.com/market 95724412?w=product 95724412_7150"
],
"title": [
"PDF мастер класс \"Баратцы\" (Оксана Лифенко)"
]
}
]
]
top 10 when title
and body
are separate:
[
[
16.10081,
{
"text": [
"Законы притяжения Оксана Кулакова] \n\nТема: Сексуальное искусство, Женственность\nТип товара: Запись вебинара (аудио)\nПродолжительность: 1,5 часа\n\nСсылка на вебинар:\n "
],
"title": [
"Законы притяжения Оксана Кулакова"
]
}
],
[
16.08742,
{
"text": [
"http://i95.fastpic.ru/big/2017/0628/9a/615b9c8504d94a3893d7f496ac53539a.jpg \n\nОт издателя\nОксана Путан профессиональный повар, автор кулинарных книг и известный кулинарный блогер. Ее рецепты отличаются практичностью, доступностью и пользуются огромной популярностью в русскоязычном интернете. Это третья книга автора о самом вкусном и ароматном настоящих русских пирогах и выпечке!\nДаже новички на кухне легко готовят по ее рецептам. Оксана описывает процесс приготовления настолько подробно и понятно, что вам остается только наслаждаться готовкой и не тратить время на лишние усилия. Готовьте легко и просто!\n\nhttps://www.ozon.ru/context/detail/id/139872462/"
],
"title": [
"Любимые русские пироги (Оксана Путан)"
]
}
],
[
15.343598,
{
"text": [
"\nОксана Дмитриевна Минаева\nКурс «Организация частной логопедической практики. Подводные камни и перспективы собственного дела»\n\nПриглашаем детских специалистов на курс по открытию частной практики.\n\nКурс разбит на три части: законодательную, экономическую и рекламную.\n\nВ первой части ведущая пояснит нормативно правовые основы организации частной практики, расскажет о том, как оформить свое дело с юридической точки зрения.\n\nИз второй части вы узнаете о том, как построить бизнес план учреждения, снизить расходы и повысить прибыль.\n\nВ третьей части ведущая поделится способами привлечения клиентов и работы с ними.\n\nВ КУРСЕ\n \n\n\n3 лекции: 12 часов лекций и общения с ведущей\nматериалы для самостоятельной работы\nСертификат на 16 академических часов.\n\n \nО ВЕДУЩЕЙ\nОксана Минаева — директор центра образования и коррекции «Индиго» в Белгороде, дефектолог.\n\nПрофессиональная деятельность\nОксана Дмитриевна руководит Центром для детей с особенностями развития «Индиго» и Проектом «Формирование кадрового и методического ресурса начального образования детей с РАС в Белгородской области» от Департамента образования Белгородской области.\n\nОбразование и научная карьера\nОксана Дмитриевна — доцент кафедры психологии и дефектологии БелИРО. Также она была доцентом кафедры дошкольного и специального образования педагогического факультета и кафедры Общей патологии медицинского факультета БелГУ.\n\nРанее она была деканом педагогического факультета, зав кафедрой логопедии Белгородского государственного университета и научным сотрудником НИИ экспериментальной и клинической медицины Киргизской государственной медицинской академии.\n\n\nПродажник:https://mersibo.ru/webinars#w26422"
],
"title": [
"Организация частной логопедической практики. Подводные камни (Оксана Минаева)"
]
}
],
[
14.974621,
{
"text": [
"Сбалансированная практика хатха йоги, направленная на развитие силы и гибкости. В составе занятия Оксана предлагает разобрать упражнения и асаны, подводящие к балансам на руках, а также упражнения и асаны, ориентированные на подготовку мышц и суставов к шпагатной растяжке.\n\nНачало: 10.00 по московскому времени\nПродолжительность: 1 час 30 мин.\nУровень: продолжающие\n\nПротивопоказания: острый период заболеваний опорно двигательного аппарата; воспалительные процессы, структурный сколиоз, беременность.\nhttp://yantayoga.com/index/14102017OG"
],
"title": [
"Сила и гибкость (Оксана Горкина)"
]
}
],
[
14.520521,
{
"text": [
"https://i.ibb.co/gm447GW/7f ZUzq IELa8.jpg\nPDF журнал для миниатюрного вязания. В описание входит платье, берет, трусики и гетры. Описание продается в формате PDF, состоит из 11 страниц формата А4 и может быть напечатано на любом принтере. После оплаты, я вышлю Вам описание на Ваш e mail (пожалуйста, указывайте при оплате).\nОписание предназначено для кукол BJD RealPuki от FairyLand (рост кукол 9,5 см), но может подойти и другим подобным куклам. Также вы можете связать этот наряд из обычной пряжи, и он подойдет для куколок побольше.\nhttps://vk.com/market 95724412?w=product 95724412_7150"
],
"title": [
"PDF мастер класс \"Баратцы\" (Оксана Лифенко)"
]
}
],
[
14.520521,
{
"text": [
"https://image.ibb.co/bC8CQz/u_Tz_5iy_Sqgw.jpg\nhttps://image.ibb.co/gJmACe/4_XAN976_Rqiw.jpg\nhttps://image.ibb.co/fTOCQz/M_x5_S9_CC4_Qw.jpg\nПредлагаю вашему вниманию мастер класс по вязанию 3 х сумочек для кукол.\nВы свяжете рюкзачок, пляжную сумочку и сумочку \"горошки\" для своей любимой куклы (или на заказ).\nРюкзак и оранжевая сумочка отлично подойдут для кукол принцессы Диснея (Disney Animators) и фейсинок, а \"горошковая\" для любимых Паолочек. Также могут подойти и другим куклам с аналогичными размерами.\n16 страниц подробного, пошагового объяснения процесса вязания, более 30 фото, а также схемы.\nТакже Вы получите запись моего выступления на кукольной конференции, где я показывала, как вяжется сумочка \"Горошки\", а также рассказала о своей любимой пряже и украшалочках для кукол :)\nhttps://vk.com/market 95724412?w=product 95724412_94761/query"
],
"title": [
"Мастер класс \"Сумочки для кукол\" (Оксана Лифенко)"
]
}
],
[
14.520521,
{
"text": [
"https://i.ibb.co/pzvHrDN/I3d U T6 Gg TM.jpg\nhttps://i.ibb.co/NFrb6v6/N0ls Z9nwjb U.jpg\nВ описание входит штаны, кофта, берет, матросский воротник. Описание продается в формате PDF, состоит из 12 страниц формата А4 и может быть напечатано на любом принтере.\nОписание предназначено для кукол BJD RealPuki от FairyLand, но может подойти и другим подобным куклам. Также вы можете вязать этот наряд из обычной пряжи, и он подойдет для куколок побольше.\nhttps://vk.com/market 95724412?w=product 95724412_2212"
],
"title": [
"PDF Мастер Класс \"Морячок\" (Оксана Лифенко)"
]
}
],
[
14.495346,
{
"text": [
" \nhttps://shop.sexrf.com/media/amlabel/01_2017 06 14_02.pnghttps://shop.sexrf.com/media/amlabel/03_2017 06 14_02.pnghttps://shop.sexrf.com/media/amlabel/badge_smart.pnghttps://shop.sexrf.com/media/amlabel/badge_popular.png\nВедущая психолог, сексолог Оксана Бачинская\nПродолжительность: 43 мин.\nhttps://i106.fastpic.ru/thumb/2018/1210/a4/_dbcf7af836512199407f1594ba506da4.jpeg\nХотите попробовать что то новое в формате \"соло\", или \"подкинуть хвороста\" в ваш костёр страсти? Сексолог Оксана Бачинская поможет определиться, что нужно именно вам!\nФрагмент вебинара «Секс игрушки: инструкция по применению»\n4xv9Yymyz9w\nСОДЕРЖАНИЕ ВЕБИНАРА:\n\nБесконтактный стимулятор клитора Satisfyer Pro G SPOT RABBIT\nИнновационный вибратор Gvibe Mini\nМини вибратор на палец Fun Toys Gring\nКлиторальный вибратор Qvibry Memo с USB накопителем\nИнновационный вибратор Gvibe Mini\nСтрапон с вибрацией SHAREVIBE\nИнновационный вибратор Gvibe Mini\nПульсатор BI STRONIC FUSION FF\nМассажер простаты Nexus Revo 2 (с USB зарядкой)\n shop.sexrf.com/video/online trening sextoys\n\n\n"
],
"title": [
"Секс игрушки: инструкция по применению (Оксана Бачинская)"
]
}
],
[
14.48782,
{
"text": [
"http://i92.fastpic.ru/thumb/2018/1028/fc/7fe5a69acd07c267a88639c5148c78fc.jpeg\nОМБИ маникюр для САМОУЧКИ. Начинаем с Нуля\nПокрытие гель лаком под кутикулу.\n\n07 декабря четверг с 12:00 до 19:00 будет закрытая трансляция в Periscope\nТрансляцию можно смотреть и пересматривать в записи 30 дней\n\nАвтор Оксана Маляренко\n\n******ПРОГРАММА ТРАНСЛЯЦИИ******\n► Безопасный Комби для начинающих\n► 5 вариантов салонного КОМБИ маникюра, простая техника работы (ножницы щипчики)\n► Комбинированный маникюр (1фреза+ножницы) 3 вида под разный тип кожи\n► Универсальному комби маникюру для любого типа кожи\n► 3 салонные Техники укрепления, покрытия под кутикулу и максимально близко к кутикуле\n► Новые техники борьбы с отслойками и сколами в области свободного края\n► Комби маникюр ножничками и щипчиками (салонный вариант)\n\nЗакрытая трансляция от Оксаны Маляренко в перископ, в которой она расскажет и покажет, что нужно для начинающих мастеров, какие техники помогут начинающим сделать идеальный комби маникюр.\nD0pyz0yjorM\nD0pyz0yjorM"
],
"title": [
"Комби маникюр для самоучки, начинаем с нуля( Оксана Маляренко)"
]
}
],
[
14.473087,
{
"text": [
"http://i85.fastpic.ru/big/2016/1218/3f/fc153dcdcb53014e49470652427fb23f.jpg \n\n\nВЫ ЕЩЕ НЕ УСТАЛИ ТРАТИТЬ ДЕНЬГИ НА ОДЕЖДУ, КОТОРАЯ ВАС НЕ КРАСИТ?\n\n Переполненный шкаф…\n\n Надоевшая мысль: «Снова нечего надеть…»\n\n Грустный взгляд на себя в зеркало...\n\n Испорченное настроение...\n\nКОМПЛЕКСНЫЙ ПРАКТИЧЕСКИЙ ОНЛАЙН КУРС\n«НАУЧИТЕ МЕНЯ ОДЕВАТЬСЯ»\n\nЗа 6 недель курса вы не только научитесь прекрасно разбираться в искусстве стиля, но и получите мощную базу знаний в этом направлении.\n\nПосле обучения вы легко сможете сделать консультирование по стилю своим дополнительным источником дохода.\n\nПомимо углублённого изучения теории вас ждет интереснейшая практика в команде единомышленниц под чутким руководством стилиста профессионала Оксаны Болбот.\n\nhttp://course.wardrobe rehab.ru/"
],
"title": [
"Научите меня одеваться (Оксана Болбот)"
]
}
]
]
I have removed misleading thread_id
field in json in my previous comment.
I should highlight that I make a regular text query, not a phrase query.
So I guess those docs where Оксана Лифенко
is present in title
should have a higher score than docs having just Оксана
or Лифенко
in title
or body
.
Ok I was able to reproduce your example by create an index with two of your "top documents", and one of the "words are in title but not in body".
I also added a bunch of fake docs to tweak artificially decrease the idf
of your two terms, and manage to reproduce the order you experienced.
It may or may not be a bug, but I think this is still worth investigating.
Elasticsearch does much better on this example. This is definitely worth investigating.
I think the main point is a formula that combines scores of two different fields. Maybe this #547 issue is some how related.
Small update, I ended up on reenabling an explain function to make it easy to compare elasticsearch formula with tantivy's formula.
Ok... So end of the investigation.
Tantivy sucks. So does ElasticSearch.
In tantivy, the score is simply the sum of the BM25 score over each field. Fieldnorm affects BM25 in two ways
Both effects are probably milder than we might want. Also they lose the nice saturation effect that we get with BM25: having a lot of occurences the same word is not as important as having all words in the doc.
Elasticsearch does not do a sum over the different fields but the max over the different fields. On the other hand, if there are 2 words in the query, and the best two docs only have a some of these words in their title, we do not consider any of the body clue that one might be more relevant than the other.
BM25F
is aiming at addressing this problem and Lucene and ES is working using it.
I think try to support BM25F
too.
Interestingly, BM25F
intuition is quite close to your idea of virtually concatenating title and body.
I thought that ES and Lucene already use BM25F. What is a default metric for ES? From what you said I conclude it is max over BM25 scores. Why not just use BM25F by default?
One more question. By fieldnorm you mean BM25F?
I thought that ES and Lucene already use BM25F.
It was shipped in Lucene recently.
What is a default metric for ES? From what you said I conclude it is max over BM25 scores.
Yes.
Why not just use BM25F by default?
They might change that in the near future. We can change that now if it is not too hard.
Thanks for the investigation.
I would like to take this ticket, if it's still open and unassigned.
I have been reading about BM25F and wanted to clarify something.
Interestingly,
BM25F
intuition is quite close to your idea of virtually concatenating title and body.
From this tutorial I understood, that we don't just concatenate the fields together, instead we replicate each field weight
number of times to increase the frequency of every term in that field.
I don't see how we can bake BM25F into the library, as it depends on knowing names and weights of fields supplied by the user query. The only thing I can think of is matching field names like "title" and "summary" and boosting them.
Hence, I think @kkonevets is right and this ticket is related to #547.
Furthermore, implementing #547 will enable users to write and optimise their own queries using their understanding of own indexes.
I want to query something like
Michael Jackson
and search in two fields:title
andbody
. I do it this way:But the results are not relevant at all. Seems like tantivy searches only
Michael
orJackson
and sometimes both. I expect that documents with title containingMichael Jackson
would be on the first line, but they are placed on say 5-th.Then I concatenate
title
andbody
with space in one field -body
. So I query like this:And now the results are relevant - all docs with
Michael Jackson
in title are placed on the first lines. Do I misunderstand something or is it a bug?