skttl
08/15/2023, 5:23 AMD_Inventor
08/15/2023, 6:21 AMD_Inventor
08/15/2023, 6:22 AMnzdev
08/15/2023, 6:25 AMskttl
08/15/2023, 6:25 AMnzdev
08/15/2023, 6:27 AMskttl
08/15/2023, 6:43 AMnzdev
08/15/2023, 6:46 AMnzdev
08/15/2023, 6:49 AMnzdev
08/15/2023, 6:49 AMskttl
08/15/2023, 6:54 AMnzdev
08/15/2023, 7:34 AMnzdev
08/15/2023, 7:35 AMnzdev
08/15/2023, 7:36 AMnzdev
08/15/2023, 7:37 AMnzdev
08/15/2023, 7:37 AMnzdev
08/15/2023, 7:38 AMskttl
08/15/2023, 8:19 AMcs
public class ConfigureIndexOptions : IConfigureNamedOptions<LuceneDirectoryIndexOptions>
{
    public void Configure(string? name, LuceneDirectoryIndexOptions options)
    {
        if (name?.Equals("ExternalIndex") is true)
        {
            var facetFields = new List<string>
            {...}; // all the fields names
            var facetsConfig = new FacetsConfig();
            foreach (var field in facetFields)
            {
                options.FieldDefinitions.AddOrUpdate(new FieldDefinition(field, FieldDefinitionTypes.FacetTaxonomyFullText));
            }
            options.FacetsConfig = facetsConfig;
            options.UseTaxonomyIndex = true;
        }
    }
    public void Configure(LuceneDirectoryIndexOptions options) => Configure(string.Empty, options);
}NotSupportedException: Directory Factory does not implement CreateTaxonomyDirectorynzdev
08/15/2023, 8:20 AMskttl
08/15/2023, 8:20 AMnzdev
08/15/2023, 8:20 AMnzdev
08/15/2023, 8:22 AMnzdev
08/15/2023, 8:25 AMnzdev
08/15/2023, 8:27 AMnzdev
08/15/2023, 8:27 AMskttl
08/15/2023, 8:29 AMnzdev
08/15/2023, 8:29 AMnzdev
08/15/2023, 8:32 AMskttl
08/15/2023, 8:36 AMnzdev
08/15/2023, 8:37 AMnzdev
08/15/2023, 8:37 AMnzdev
08/15/2023, 8:40 AMskttl
08/15/2023, 8:55 AMskttl
08/15/2023, 8:55 AMskttl
08/15/2023, 10:55 AM.GroupedOr(new [] { "myFacetField"}, new[] { "Facet1", "facet2" }).WithFacets(facets => facets.FacetString("myFacetField"))result.GetFacet("myFacetField")nzdev
08/15/2023, 12:25 PMskttl
08/15/2023, 12:45 PMnzdev
08/15/2023, 12:46 PMskttl
08/15/2023, 12:54 PMJemayn
08/25/2023, 1:16 PMD_Inventor
08/25/2023, 2:02 PMNikcio
08/25/2023, 2:31 PMJemayn
08/28/2023, 7:10 AMD_Inventor
08/28/2023, 7:20 AMD_Inventor
08/28/2023, 7:20 AMJemayn
08/28/2023, 12:41 PMNikcio
08/28/2023, 8:32 PMJemayn
08/29/2023, 7:18 AMJemayn
08/30/2023, 9:58 AMquery.WithFacets(facets => facets.FacetString($"productMarkings_{culture}", c => c.MaxCount(200)));andrewmckaskill
09/01/2023, 5:17 PMnzdev
09/13/2023, 2:43 AMJemayn
09/13/2023, 8:07 AMJemayn
09/13/2023, 12:16 PMnzdev
09/13/2023, 12:32 PMBjarne Fyrstenborg
09/13/2023, 2:06 PMFacet()Bjarne Fyrstenborg
09/13/2023, 2:12 PMFacet()FacetString()FacetDoubleRange()FacetFloatRange()FacetLongRange()Bjarne Fyrstenborg
09/13/2023, 2:29 PMNikcio
09/13/2023, 4:39 PMNikcio
09/13/2023, 4:42 PMBjarne Fyrstenborg
09/14/2023, 6:56 AMFacetIntegerRange()FacetIntegerFacetDateTimeRange()FacetDateTime()Bjarne Fyrstenborg
09/14/2023, 7:22 AMExternalIndexUseTaxonomyIndexJemayn
09/14/2023, 7:37 AMBjarne Fyrstenborg
09/14/2023, 8:14 AMpublic sealed class ConfigureIndexOptions : IConfigureNamedOptions<LuceneDirectoryIndexOptions>
{
    public void Configure(string name, LuceneDirectoryIndexOptions options)
    {
        switch (name)
        {
            case "ExternalIndex":
                var priceFields = new List<string>
                {
                    "price"
                };
                // Create a config
                var facetsConfig = new FacetsConfig();
                foreach (var field in priceFields)
                {
                    //options.FieldDefinitions.AddOrUpdate(new FieldDefinition(field, FieldDefinitionTypes.FacetDouble));
                    facetsConfig.SetIndexFieldName(field, $"facet_{field}");
                }
                options.FacetsConfig = facetsConfig;
                //options.UseTaxonomyIndex = true;
                break;
        }
    }
    public void Configure(LuceneDirectoryIndexOptions options)
        => Configure(string.Empty, options);
}UseTaxonomyIndexAddOrUpdate()Bjarne Fyrstenborg
09/14/2023, 8:34 AMTransformIndexValuesif (e.ValueSet.Values.ContainsKey("price"))
{
    var prices = JsonConvert.DeserializeObject<Dictionary<Guid, string>>(e.ValueSet.GetValue("price").ToString());
    foreach (var price in prices)
    {
        var currency = _currencyService.GetCurrency(price.Key);
        values.Add($"price_{currency.Code}", new[] { price.Value });
    }
}public void Configure(string name, LuceneDirectoryIndexOptions options)
{
    switch (name)
    {
        case "ExternalIndex":
            var priceFields = new List<string>
            {
                "price_GBP"
            };
            // Create a config
            var facetsConfig = new FacetsConfig();
            foreach (var field in priceFields)
            {
                options.FieldDefinitions.AddOrUpdate(new FieldDefinition(field, FieldDefinitionTypes.FacetDouble));
                facetsConfig.SetIndexFieldName(field, $"facet_{field}");
            }
            options.FacetsConfig = facetsConfig;
            //options.UseTaxonomyIndex = true;
            break;
    }
}Bjarne Fyrstenborg
09/14/2023, 8:39 AMValuenzdev
09/14/2023, 8:43 AMnzdev
09/14/2023, 8:44 AMnzdev
09/14/2023, 8:45 AMnzdev
09/14/2023, 8:48 AMNikcio
09/14/2023, 9:08 AMBjarne Fyrstenborg
09/14/2023, 9:09 AMBjarne Fyrstenborg
09/14/2023, 9:13 AMExternalIndexBjarne Fyrstenborg
09/14/2023, 9:19 AMDoubleRange()minInclusivemaxInclusivetrueRangeQuery<T>()query.And().RangeQuery<long>(new[] { "myField" }, 0, 10);Bjarne Fyrstenborg
09/14/2023, 9:33 AMpublic sealed class ConfigureIndexOptions : IConfigureNamedOptions<LuceneDirectoryIndexOptions>
{
    public void Configure(string name, LuceneDirectoryIndexOptions options)
    {
        switch (name)
        {
            case Constants.UmbracoIndexes.ExternalIndexName:
                var priceFields = new List<string>
                {
                    "price_GBP"
                };
                // Create a config
                var facetsConfig = new FacetsConfig();
                foreach (var field in priceFields)
                {
                    options.FieldDefinitions.TryAdd(new FieldDefinition(field, FieldDefinitionTypes.FacetDouble));
                    facetsConfig.SetIndexFieldName(field, $"facet_{field}");
                }
                options.FacetsConfig = facetsConfig;
                //options.UseTaxonomyIndex = true;
                break;
        }
    }
    public void Configure(LuceneDirectoryIndexOptions options)
        => Configure(string.Empty, options);
}nzdev
09/14/2023, 9:35 AMnzdev
09/14/2023, 10:03 AMnzdev
09/14/2023, 10:06 AMnzdev
09/14/2023, 10:11 AMnzdev
09/14/2023, 10:13 AMnzdev
09/14/2023, 10:14 AMNikcio
09/14/2023, 5:34 PMBjarne Fyrstenborg
09/14/2023, 6:44 PMBjarne Fyrstenborg
09/25/2023, 9:46 AMFacetResultvar results = query.OrderBy(new SortableField("name", SortType.String))
    .WithFacets(facets => facets
        .FacetLongRange("isGiftCard", new Int64Range[] {
            new Int64Range("no", 0, true, 1, false),
            new Int64Range("yes", 0, false, 1, true)
        })
        .FacetDoubleRange("price_GBP", new DoubleRange[] {
            new DoubleRange("0-10", 0, true, 10, true),
            new DoubleRange("11-20", 11, true, 20, true),
            new DoubleRange("20-30", 21, true, 30, true)
        })) // Get facets of the price field
    .Execute(QueryOptions.SkipTake(pageSize * (page - 1), pageSize));
IEnumerable<IFacetResult> facets = results.GetFacets();Bjarne Fyrstenborg
09/25/2023, 11:26 AMprivate IEnumerable<SearchFacetGroup> MapFacets(IList<Ucommerce.Search.Facets.Facet> facets)
{
    var mappedFacets = facets
        .Select(x => new SearchFacetGroup()
        {
            Name = GetFacetName(x),
            Facets = x.FacetValues.Select(f => new SearchFacet()
            {
                Count = f.Count,
                Name = f.Value
            })
            .OrderBy(f => f.Name)
        });
    return mappedFacets;
}Bjarne Fyrstenborg
09/25/2023, 11:33 AMFacetResultBjarne Fyrstenborg
09/25/2023, 12:29 PMGetFacets()isGiftCardprice_GBPBjarne Fyrstenborg
09/25/2023, 12:47 PMValueIFacetValueHitsCountfloatintNikcio
09/25/2023, 2:41 PMNikcio
09/25/2023, 2:44 PMNikcio
09/25/2023, 2:51 PMBjarne Fyrstenborg
09/26/2023, 10:35 AMisGiftCardBjarne Fyrstenborg
09/26/2023, 10:37 AMBjarne Fyrstenborg
09/26/2023, 10:38 AMNikcio
09/26/2023, 2:03 PMBjarne Fyrstenborg
09/27/2023, 6:51 AMFacetString()var results = query.OrderBy(new SortableField("name", SortType.String))
    .WithFacets(facets => facets
        .FacetString("isGiftCard", null, new[] { "1" })
        //.FacetLongRange("isGiftCard", new Int64Range[] {
        //    new Int64Range("no", 0, true, 1, false),
        //    new Int64Range("yes", 0, false, 1, true)
        //})
        .FacetDoubleRange("price_GBP", new DoubleRange[] {
            new DoubleRange("0-10", 0, true, 10, true),
            new DoubleRange("11-20", 11, true, 20, true),
            new DoubleRange("20-30", 21, true, 30, true),
            new DoubleRange("30-40", 31, true, 40, true),
            new DoubleRange("40-50", 41, true, 50, true)
        })) // Get facets of the price field
    .Execute(QueryOptions.SkipTake(0, 1000));
var facets = results.GetFacets();Bjarne Fyrstenborg
09/29/2023, 7:27 AMExternalIndexExternalIndexExternalIndexnzdev
09/29/2023, 11:51 AMnzdev
09/29/2023, 11:53 AMRosen Petrov
10/02/2023, 6:38 AMRosen Petrov
10/02/2023, 12:40 PMD_Inventor
10/02/2023, 12:42 PMRosen Petrov
08/13/2024, 11:13 AMRosen Petrov
08/13/2024, 12:31 PMA hub and casual space for you to interact with fellow community members and learn more about Umbraco!
Powered by