“plugin.tx_solr.query.fields“是如何工作的?

q1qsirdb  于 2023-01-02  发布在  Solr
关注(0)|答案(1)|浏览(150)

我需要能够搜索的新闻标签属性。
这个排版很好用,但是当我从一个新闻中输入一个标签(完全相同的字符串)到Solr的搜索框中时,我没有得到任何结果。
根据这个答案中的“lorenz”,我尼德将我的动态字段(我相信)添加到“plugin.tx_solr.query.fields”中,但这个糟糕的文档对我没有帮助。
我添加了以下内容到那个排版中,但是当我使用搜索框来查找我的标签的确切名称时,我没有得到任何结果。
(插件.tx_solr.查询.字段=标签_字符串M)
有人有代码可以给我举个例子吗?

plugin.tx_solr{
    search {
        initializeWithEmptyQuery = 1
        showResultsOfInitialEmptyQuery = 1
        showEmptyFacets = 1
        faceting = 1
        faceting {
            facets {
                mediatype {
                    label = Facet dos
                    field = categorytitle_stringS
                }
            }
        }
    }
    index.queue {

        custom_news = 1
        custom_news {
            table = tx_news_domain_model_news

            fields {
                abstract = teaser

                author = author
                authorEmail_stringS = author_email

                title = title

                datetime_stringS = TEXT
                datetime_stringS {
                    field = datetime
                    date = d.m.Y H:i
                }

                titlehr_stringS = TEXT
                titlehr_stringS {
                    field = title_hr
                }

                teaser_stringS = TEXT
                teaser_stringS {
                    field = teaser
                }
                
                datetime_dateS = TEXT
                datetime_dateS {
                    field = datetime
                    date = Y-m-d\TH:i:s\Z
                }

                content = SOLR_CONTENT
                content {
                    cObject = COA
                    cObject {
                        10 = TEXT
                        10 {
                            field = bodytext
                            noTrimWrap = || |
                        }
                        20 = TEXT
                        20 {
                            field = tags_stringM
                            noTrimWrap = || |
                        }
                    }
                }

                categorytitle_stringS = SOLR_RELATION
                categorytitle_stringS {
                    localField = categories
                    multiValue = 1
                }

                categoryuid_stringS = SOLR_RELATION
                categoryuid_stringS {
                    localField = categories
                    foreignLabelField = uid
                    multiValue = 1
                }
                
                keywords = SOLR_MULTIVALUE
                keywords {
                    field = keywords
                }

                tags_stringM = SOLR_RELATION
                tags_stringM {
                    localField = tags
                    label = Tags
                    multiValue = 1
                }

                tagshr_stringM = SOLR_RELATION
                tagshr_stringM {
                    localField = tags
                    label = Tags hr
                    foreignLabelField = title_hr
                    multiValue = 1
                }

                mediatypehr_intS = TEXT
                mediatypehr_intS {
                    field = media_type_hr
                }

                mediatypede_intS = TEXT
                mediatypede_intS {
                    field = media_type_de
                }

                image_stringS = FILES
                image_stringS {
                    references {
                        table = tx_news_domain_model_news
                        uid.field = uid
                        fieldName = fal_media
                    }

                    begin = 0
                    maxItems = 1

                    renderObj = IMG_RESOURCE
                    renderObj {
                        file.import.data = file:current:publicUrl
                        file.maxW = 330
                        #wrap = |
                    }
                }

                url = CASE
                url {
                    key.field = type

                    # Internal
                    1 = TEXT
                    1 {
                        if.isTrue.field = internalurl
                        typolink.parameter.field = internalurl
                        typolink.useCacheHash = 1
                        typolink.returnLast = url
                    }

                    # External
                    2 = TEXT
                    2 {
                        if.isTrue.field = externalurl
                        field = externalurl
                    }

                    default = TEXT
                    default {
                        typolink.parameter = {$plugin.tx_news.settings.detailPid}
                        typolink.additionalParams = &tx_news_pi1[controller]=News&tx_news_pi1[action]=detail&tx_news_pi1[news]={field:uid}&L={field:__solr_index_language}
                        typolink.additionalParams.insertData = 1
                        typolink.useCacheHash = 1
                        typolink.returnLast = url
                    }
                }
            }

            attachments = 1
            attachments {
                fields = fal_related_files
                fileExtensions = *
            }
        }
    }
}

plugin.tx_solr.logging.indexing.queue.news = 1
xytpbqjk

xytpbqjk1#

除了定义用于索引的字段之外,您还需要声明这些字段与搜索相关。(以及它们对搜索的重要性)
一个可能的解决方案可能类似于排版的这一部分:

plugin {
   tx_solr {
      search {
         query {
            queryFields := addToList(categorytitle_stringS^2.0,keywords2.0,tags_stringM^2.0, tagshr_stringM^2.0)
         }
      }
   }
}

参见手册

相关问题