当 apache solr 中的查询使用分面时,某些单词不显示



我在 solr usehttp://localhost:8983/solr/matching/select?facet.field=content&facet=on&q=*:*中查询。并不是所有的话都没有显示出来。这是我在 Solr 中的关键和价值

{
"id":"1",
"content":["Jakarta - KM Sinar Bangun tenggelam di Danau Toba, Sumut. Menteri Pariwisata Arief Yahya berharap, audit transportasi dan keamanan di sana diperketat.nn"Pertama-tama kita berbelasungkawa atas KM Sinar Baru yang tenggelam di Danau Toba. Saya juga ikut memonitor dan apa yang sudah dilakukan rekan-rekan Basarnas sudah bagus," katanya di Balairung Soesilo Soedarman, Gedung Sapta Pesona, Jakarta, Kamis (21/6/2018) setelah acara Halal Bi Halal Kementerian Pariwisata.nnKM Sinar Bangun tenggelam di Danau Toba, Senin (18/6) sekitar pukul 17.30 WIB. Kapal tenggelam saat berlayar dari Pelabuhan Simanindo, Kabupaten Samosir, menuju Pelabuhan Tigaras, Kabupaten Simalungun.nnKorban hilang penumpang KM Sinar Bangun yang tenggelam berjumlah 186. Sebanyak 94 orang teridentifikasi, sedangkan 92 orang belum diketahui identitasnya.nn"Kabarnya kapal itu over capacity atau tidak memenuhi spesifik teknis. Saya setuju. Ke depannya diaudit kepada semua kapal yang berlayar di Danau Toba," tegas Arief.nnDanau Toba merupakan salah satu 10 Destinasi Prioritas atau 10 Bali Baru. Maka itu, poin keamanan, keselamatan dan pelayanannya harus terus ditingkatkan. Agar tidak terulang lagi musibah Danau Toba.nn"Kita harapkan akan lebih ketat dan selektif terutama saat hari-hari besar di sana. Nanti ketemu lagi di Natal dan Tahun Baru harus dipersiapkan lebih bagus," tutupnya. (aff/fay)n"],
"_version_":1603877168829431808},
{
"id":"2",
"content":["Jakarta - KM Sinar Bangun tenggelam di Danau Toba, Sumut. Menteri Pariwisata Arief Yahya berharap, audit transportasi dan keamanan di sana diperketat.nn"Pertama-tama kita berbelasungkawa atas KM Sinar Baru yang tenggelam di Danau Toba. Saya juga ikut memonitor dan apa yang sudah dilakukan rekan-rekan Basarnas sudah bagus," katanya di Balairung Soesilo Soedarman, Gedung Sapta Pesona, Jakarta, Kamis (21/6/2018) setelah acara Halal Bi Halal Kementerian Pariwisata.nnKM Sinar Bangun tenggelam di Danau Toba, Senin (18/6) sekitar pukul 17.30 WIB. Kapal tenggelam saat berlayar dari Pelabuhan Simanindo, Kabupaten Samosir, menuju Pelabuhan Tigaras, Kabupaten Simalungun.nnKorban hilang penumpang KM Sinar Bangun yang tenggelam berjumlah 186. Sebanyak 94 orang teridentifikasi, sedangkan 92 orang belum diketahui identitasnya.nn"Kabarnya kapal itu over capacity atau tidak memenuhi spesifik teknis. Saya setuju. Ke depannya diaudit kepada semua kapal yang berlayar di Danau Toba," tegas Arief.nnDanau Toba merupakan salah satu 10 Destinasi Prioritas atau 10 Bali Baru. Maka itu, poin keamanan, keselamatan dan pelayanannya harus terus ditingkatkan. Agar tidak terulang lagi musibah Danau Toba.nn"Kita harapkan akan lebih ketat dan selektif terutama saat hari-hari besar di sana. Nanti ketemu lagi di Natal dan Tahun Baru harus dipersiapkan lebih bagus," tutupnya. (aff/fay)n"],
"_version_":1603877168887103488}

查询后结果为:

"facet_counts":{
"facet_queries":{},
"facet_fields":{
"content":[
"10",2,
"17",2,
"18",2,
"186",2,
"2018",2,
"21",2,
"30",2,
"6",2,
"92",2,
"94",2,
"acara",2,
"aff",2,
"agar",2,
"akan",2,
"apa",2,
"arief",2,
"atas",2,
"atau",2,
"audit",2,
"bagus",2,
"balairung",2,
"bali",2,
"bangun",2,
"baru",2,
"basarnas",2,
"belum",2,
"berbelasungkawa",2,
"berharap",2,
"berjumlah",2,
"berlayar",2,
"besar",2,
"bi",2,
"capacity",2,
"dan",2,
"danau",2,
"dari",2,
"depannya",2,
"destinasi",2,
"di",2,
"diaudit",2,
"diketahui",2,
"dilakukan",2,
"diperketat",2,
"dipersiapkan",2,
"ditingkatkan",2,
"fay",2,
"gedung",2,
"halal",2,
"harapkan",2,
"hari",2,
"harus",2,
"hilang",2,
"identitasnya",2,
"ikut",2,
"itu",2,
"jakarta",2,
"juga",2,
"kabarnya",2,
"kabupaten",2,
"kamis",2,
"kapal",2,
"katanya",2,
"ke",2,
"keamanan",2,
"kementerian",2,
"kepada",2,
"keselamatan",2,
"ketat",2,
"ketemu",2,
"kita",2,
"km",2,
"korban",2,
"lagi",2,
"lebih",2,
"maka",2,
"memenuhi",2,
"memonitor",2,
"menteri",2,
"menuju",2,
"merupakan",2,
"musibah",2,
"nanti",2,
"natal",2,
"orang",2,
"over",2,
"pariwisata",2,
"pelabuhan",2,
"pelayanannya",2,
"penumpang",2,
"pertama",2,
"pesona",2,
"poin",2,
"prioritas",2,
"pukul",2,
"rekan",2,
"saat",2,
"salah",2,
"samosir",2,
"sana",2,
"sapta",2]},
"facet_ranges":{},
"facet_intervals":{},
"facet_heatmaps":{}}

在结果"Sinar","Tenggelam","toba"和一些单词没有显示。 这是我的字段配置

<fieldType name="edgytext" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.WordDelimiterFilterFactory" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType> 

那么我的查询或 solr 字段配置有什么问题?

您的分面列表在 100 处截止 - 您缺少的所有单词都在此截止点之后。问题不在于这些值没有被索引,而在于你没有检索它们。默认情况下,facet.limit参数设置为100- 将其设置为-1以返回字段的所有术语及其关联的计数。

&facet=true&facet.field=content&facet.limit=-1
嗨,

我的建议是将您的字段类型前卫文本替换为以下定义。

<fieldType name="edgytext" class="solr.TextField" positionIncrementGap="100" 
multiValued="true">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>

如果你想让所有单词都带有分面计数,那么你需要 StandardTokenizerFactory。

什么是溶胶。标准令牌器工厂 ?

它在空格上标记,并去除字符。

Example :
http://google.com/i+love+birds

将生成 6 个令牌(用逗号分隔( -

http,google.com,I,love,birds

什么是KeywordTokenizerFactory?

关键字分词器根本不拆分输入。 不对字符串执行任何处理,整个字符串被视为单个实体。 这实际上不会进行任何标记化。它将原始文本作为一个术语返回。

主要用于排序或分面要求,您希望在筛选多个单词时匹配确切的分面,并且排序因为排序不适用于标记化字段。

最新更新