Я пытаюсь реализовать запрос Lucene.Net MoreLikeThis, но, похоже, он не может найти в документе ничего интересного для поиска по индексу.
В моем сценарии пользователь щелкнул ссылку «Еще как это» на веб-странице результатов поиска, это передает идентификатор документа в строку запроса. Мой код Lucene.Net выглядит так:
var similarSearch = new MoreLikeThis(reader);
similarSearch.SetFieldNames(new[] { "Place", "Subject", "Description", "Name", "Town", "Occupation" });
similarSearch.MinWordLen = 3;
similarSearch.Boost = true;
var terms = similarSearch.RetrieveInterestingTerms(docid);
var doc = reader[docid];
var searchQuery = similarSearch.Like(docid);
После казни; переменная terms - это пустой массив, переменная doc содержит документ, а searchQuery не содержит предложений. Когда я запускаю поиск по запросу, он не возвращает никаких документов.
Я пришел к выводу, что я могу получить документ от читателя, но объект MoreLikeThis не может найти ничего для построения запроса.
Есть идеи, почему?
searchQuery
, например:Hits hits = searcher.Search(searchQuery);
. Взгляните на этот образец - person rae1   schedule 25.09.2013var hits = searcher.Search(searchQuery, 15000);
. После выполненияhits.TotalHits
равно 0. Я исключил его из примера, так как предполагаю, что причина в отсутствии предложений вsearchQuery
- person Fran Hoey   schedule 25.09.2013