люценция все искать? с QueryParser - PullRequest
2 голосов
/ 23 декабря 2010

Вот часть моего кода. Вместо поиска текста в desc я хотел бы искать во всем (desc, title, example и т.д.). Как мне это сделать? сделать еще одно поле, вызвать все и скопировать в него каждое поле? Могу ли я сделать что-то вроде "", null или "*", чтобы обозначить поиск их всех? (Я попробовал каждый и не получил результатов).

Как мне искать во всех полях мой текст?

public static List<Pair<long, float>> Search(string text)
{
    var searcher = new IndexSearcher(directory, true);
    var parser = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, "desc", analyzer);
    var query = parser.Parse(text);
    var hits = searcher.Search(query);
    // etc
}

1 Ответ

2 голосов
/ 23 декабря 2010

Было бы хорошо, если бы lucene неявно поддерживал понятие «все».У вас остаётся индексирование 1 дополнительного поля (назовите его как «все»), содержимое которого будет объединением desc, title, example и т. Д., Но вы не сохраните его, просто проиндексируйте.

...