Я пытаюсь выяснить, как реализовать «поиск по силе» с использованием нескольких полей/терминов. Например:Поиск по критерию поиска на основе множественного числа
Поиск:
- Количество ног: 4
- Имеет Fur: True
- Имеет Копыта: Истинные
- Ключевые слова: Moo
Результаты :
не- [High] Корова
- [Medium] Cat
- [Medium] Собака
- [Low] Голая Mole-крыса
- [No Match] Bird
Это может быть стоит упомянуть, что критерии в моей реальной модели несколько взвешены, связаны и структурированы.
Мой язык выбора - C# .NET, и я использую LINQ + Fluent NHibernate. Я играю с несколькими различными способами, чтобы реализовать это, но большинство чувствует себя неуклюжим. В настоящее время я использую более 100 000 «животных», и их можно искать по сравнению с ~ 15 полями.
Вопросы:
ли этот вид поиска есть имя?
Есть ли лучшие практики или методы, о которых я должен знать, пытаясь реализовать это?
Каковы некоторые высокоэффективные способы реализации такого поиска? Код Psuedo и общая логика оценивались точно так же, как и код.
http://stackoverflow.com/questions/177753/search-ranking-relevance-algorithms –
Вы можете использовать полный текстовый поиск SQL Server для генерации оценки релевантности по ключевым словам (-ам) и объединить это с вашими булевыми сгенерировать составную оценку релевантности. Это должно сделать ваши поиски довольно быстрыми. –