Моя текущая сборка моего solrQuery примерно такая:
var directQuery = new SolrQuery(searchString).Boost(1000);
var brandQuery = new SolrQueryByField("BrandName", searchString).Boost(1500);
string wildCards = GetWildcards(searchString);
var wildcardQuery = new SolrQuery(wildCards);
var booleanQuery = new SolrQueryByField("ShowOnline", "true");
var query = (directQuery || brandQuery || wildcardQuery) && userQuery
Я хочу изменить поиск так, чтобы отображались только результаты, содержащие все слова из строки поиска.Мне было рекомендовано использовать минимальное соответствие настройки DisMax.
До сих пор я создал следующие дополнительные параметры для queryOptions
var extraParams = new Dictionary<string, string>
{
{"defType", "edismax"},
{"qf","text^1000 BrandName^1500 "},
{"mm", "100%"},
{"mm.autoRelax","true"}
};
и применил его следующим образом:
var queryOptions = new QueryOptions{ExtraParams = extraParams};
SolrQueryResult<SolrVariant> solrSearch = SolrVariantInstance.Query(new SolrQuery(searchString), queryOptions);
Что соответствует моему directQuery и brandQuery.
Но теперь я хочу объединить его с моим wildCardQuery и моим booleanQuery.
Можно ли объединить запросы с различными запросами-запросами?Или есть лучший подход?