diff --git a/components/ServerDbTable.vue b/components/ServerDbTable.vue
index c64f77d7e0b372063fc9003fbdea22c7f0d0ab83..a512968a076362e60b153231649101c0aa857c85 100644
--- a/components/ServerDbTable.vue
+++ b/components/ServerDbTable.vue
@@ -68,44 +68,30 @@ const msSortBy = computed(() => {
 })
 
 const msFilter = computed(() => {
-    if (Array.isArray(filterOrSearch.value)) {
+    if (isFilter.value) {
         return filterOrSearch.value.map((it, index) => {
             console.log(index, '  ', it)
             if (index >= 1 && (index + 1) % 3 === 1) {
                 console.log("should add AND")
                 return ` AND ${it.value}`
-            } else { return it.value }
+            } else if ((index + 1) % 3 === 0) {
+                return `"${it.value}"`
+            } else {
+                return `${it.value}`
+            }
 
         }).join("")
     }
     else { return "" }
 })
+
+
+const isFilter = computed(() => {
+    return Array.isArray(filterOrSearch.value)
+})
 onMounted(async () => {
+    console.log("on mounted")
     searchOrFilter()
-    // const {
-    //     hits,
-    //     pending: p,
-    //     totalHits,
-    //     filterError: fe,
-    //     facetDistribution: fd }
-    //     = await useFetchMsDocument(
-    //         "refseq",
-    //         search,
-    //         filter,
-    //         limit,
-    //         hitsPerPage,
-    //         page,
-    //         facetsRef,
-    //         msSortBy
-    //     )
-    // console.log("get the hits")
-    // console.log(hits)
-    // // console.log([...toValue(hits)])
-    // items.value = toValue(hits)
-    // itemsLength.value = toValue(totalHits)
-    // facetDistribution.value = toValue(fd)
-    // filterError.value = toValue(fe)
-    // pending.value = toValue(p)
 
 })
 // Fetch results
@@ -141,14 +127,24 @@ async function searchOrFilter() {
     }
 }
 
-watch(filterOrSearch, (fos) => {
 
+function clearFilterOrSearch() {
+    filterOrSearch.value = null
+    console.log("clear")
+
+    searchOrFilter()
+}
+
+watch(filterOrSearch, (fos) => {
+    console.log(fos)
     if (Array.isArray(fos) && fos?.length % 3 === 0) {
         searchOrFilter()
+        search.value = ''
     }
     else { console.log("do not search") }
 })
 watch(page, () => {
+    console.log("page")
     searchOrFilter()
 })
 
@@ -199,6 +195,17 @@ const computedItems = computed(() => {
 function selectItem(item) {
     filterOrSearch.value = Array.isArray(filterOrSearch.value) ? [...filterOrSearch.value, item] : [item]
 }
+
+function deleteOneFilter(index) {
+    if (isFilter.value) {
+        filterOrSearch.value?.splice(index - 2, 2)
+    }
+
+}
+function clearSearch() {
+    console.log("clear search")
+    search.value = ""
+}
 const autocompleteElem = ref()
 </script>
 <template>
@@ -207,12 +214,17 @@ const autocompleteElem = ref()
             <!-- <v-toolbar-title>
                 {{ title }} ({{ itemsLength }})
             </v-toolbar-title> -->
-            <v-autocomplete v-model:search="search" v-model:model-value="filterOrSearch" chips clearable
+            <v-autocomplete v-model:search="search" v-model:model-value="filterOrSearch" auto-select-first chips clearable
                 label="Search or filter results..." :items="computedItems" item-value="value" item-title="title" multiple
                 return-object append-inner-icon="md:search" @click:appendInner="searchOrFilter"
-                @click:clear="filterOrSearch = []">
-                <template #chip="{ props, item }">
-                    <v-chip v-bind="props" :text="item.raw.title"></v-chip>
+                @click:clear="clearFilterOrSearch" @update:modelValue="() => clearSearch()">
+                <template #chip="{ props, item, index }">
+
+
+
+                    <v-chip v-if="(index + 1) % 3 === 0" v-bind="props" :text="item.raw.title" closable
+                        @click:close="deleteOneFilter(index)"></v-chip>
+                    <v-chip v-else v-bind="props" :text="item.raw.title"></v-chip>
                 </template>
                 <template #item="{ props, item }">
                     <!-- <pre>{{ props["v-on"] }}</pre> -->
diff --git a/packages/df-wiki-cli/df_wiki_cli/meilisearch/__init__.py b/packages/df-wiki-cli/df_wiki_cli/meilisearch/__init__.py
index c979cf9afd0c3b0ed2d7e55a144854809200fc1d..440a708d035d018dbeefecf6d1ede6cf7d7940d2 100644
--- a/packages/df-wiki-cli/df_wiki_cli/meilisearch/__init__.py
+++ b/packages/df-wiki-cli/df_wiki_cli/meilisearch/__init__.py
@@ -108,6 +108,11 @@ def update_refseq(
             "species",
         ]
     )
+    params = {
+        "maxValuesPerFacet": 1000000,
+        "sortFacetValuesBy": {"*": "count"},
+    }
+    index.update_faceting_settings(params)
 
 
 def update_structure(