Solr и фасетный поиск

Даже я новичок в этом, но C: \ Python34 \ Scripts> pip install django, работал для меня. Путь должен быть установлен так, как где папка Script для установки Python является i.e.C: \ Python34 \ Scripts. Я полагаю, это потому, что django - это основа, основанная на python, поэтому эту структуру каталогов необходимо поддерживать при установке.

12
задан Blankman 1 March 2010 в 07:08
поделиться

2 ответа

Да, вы можете использовать фасет для любого индексированного поля из коробки. Однако это может не дать ожидаемых результатов, пока вы не настроите поля фасетирования в соответствии с вашими типами данных.

Фасетная обработка включается и используется через параметры facet.*, а не через fq. fq используется, когда пользователь выбирает значение фасета.

Некоторые хорошие учебники по Solr:

19
ответ дан 2 December 2019 в 04:53
поделиться

Пакет SolrNet от Пакетов Nuget в C# обеспечивает простой способ достигнуть этого. Документация помогает. Вот пример,

public async Task SolrFaceting()
    {
        Console.WriteLine("facets");
        var facetQuery = await _solr.QueryAsync(SolrQuery.All, new QueryOptions
        {
            Rows = 0,
            Facet = new FacetParameters
            {
                Queries = new[]
                {
                    new SolrFacetFieldQuery("FieldName1"),
                    new SolrFacetFieldQuery("FieldName2"),
                    new SolrFacetFieldQuery("FieldName3"),
                    new SolrFacetFieldQuery("FieldName4"),
                },
                Limit = 10

            }
        });

        foreach (var facet in facetQuery.FacetFields["FieldName1"]) {
            Console.WriteLine("{0}: {1}", facet.Key, facet.Value);
        }
        foreach (var facet in facetQuery.FacetFields["FieldName2"]) {
            Console.WriteLine("{0}: {1}", facet.Key, facet.Value);
        }
        foreach (var facet in facetQuery.FacetFields["FieldName3"]) {
            Console.WriteLine("{0}: {1}", facet.Key, facet.Value);
        }
        foreach (var facet in facetQuery.FacetFields["FieldName4"]) {
            Console.WriteLine("{0}: {1}", facet.Key, facet.Value);
        }
    }
0
ответ дан 2 December 2019 в 04:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: